Während die Zeile gelesen wird, ist awk $ line
Ich habe eine Datei, die eine Liste von Zahlen enthält. Ich habe eine zweite Datei mit verschiedenen Einträgen und jeweils mehreren Feldern.
Ich möchte alle Zeilen abrufen, deren zwölftes Feld gleich der ersten Nummer ist, und sie in eine neue Datei einfügen, dann zur zweiten Nummer und so weiter.
Ich habe einen Einzeiler geschrieben, der Sinn macht, aber ich kann nicht herausfinden, warum es nicht funktioniert.
Dies ist die Liste der Nummern:
Katzetruncations_list.txt
3
318
407
412
7
Die Datei mit den zu sortierenden Einträgen ist:
M00970:45:000000000-A42FD:1:1101:14736:1399 TGCCCAGTGCTCTGAATGTNNNNNTGAAGAAATTCAAGTAAGCGCGGGTCATCGGCNGGAGTAACTATGACTCTNTTAAGGAGGACCAATATGAACCANACNNNNNNNNNACTNTATCTAGGGTTCCCTGCACAGTATGTGNCC 79 TGCCCAGTGCTCTGAATGTNNNNNTGAAGAAATTCAAGTAAGCGCGGGTCATCGGCNGGAGTAACTATGACTCTNTTAA 65 GGAGGACCAATATGAACCANACNNNNNNNNNACTNTATCTAGGGTTCCCTGCACAGTATGTGNCC 79S65M 1 81 TGCCCAGTGCTCTGAATGTNNNNNTGAAGAAATTCAAGTAAGCGCGGGTCATCGGCNGGAGTAACTATGACTCTNTTAAGG -2 318
M00970:45:000000000-A42FD:1:1101:15371:1399 TGCCCAGTGCTCTGAATGTNNNNNTGAAGAAATTCAAGTAAGCGCGGGTCAACGGCNGGAGTAACTATGACTCTNTTAAGGAGTCGGTGTTCACATGCNATNNNNNNNNNCAGNCGAACTTGATGAAGAACGTCGACGTGTNGG 83 TGCCCAGTGCTCTGAATGTNNNNNTGAAGAAATTCAAGTAAGCGCGGGTCAACGGCNGGAGTAACTATGACTCTNTTAAGGAG 61 TCGGTGTTCACATGCNATNNNNNNNNNCAGNCGAACTTGATGAAGAACGTCGACGTGTNGG 83S61M 1 81 TGCCCAGTGCTCTGAATGTNNNNNTGAAGAAATTCAAGTAAGCGCGGGTCAACGGCNGGAGTAACTATGACTCTNTTAAGG 2 407
Das ist mein Befehl:
file="truncations_list.txt"
while read line; do awk '$12==$line' R2_Output.txt >reads_$line.txt ; done <"$file"
Dieser Befehl erstellt alle Dateien "reads_412.txt" usw., aber alle Dateien sind leer.
Ich schätze Ihre Hilfe!