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!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage