У меня есть файл, который содержит список чисел. У меня есть второй файл с различными записями и несколькими полями каждый.
Что я хочу сделать, это получить все линии, 12-е поле которых равно 1-му числу, и поместить их в новый файл, затем на второе число и т. Д.
Я написал однострочный вкладыш, который имеет смысл, но я не могу понять, почему это не сработает.
Это список номеров:
кошка truncations_list.txt
3
318
407
412
7
Файл с записями быть рассортированные:
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
Это моя команда:
file="truncations_list.txt"
while read line; do awk '$12==$line' R2_Output.txt >reads_$line.txt ; done <"$file"
Эта команда создаст все файлы «reads_412.txt» и т. Д., Но все файлы пустые.
Я ценю вашу помощь!
+1, но я думаю, что перенаправление должно быть '>' вместо '> > 'или вам нужно будет убедиться, что файлы не существуют в первую очередь. –
Спасибо, это намного лучше, чем чтение файла снова и снова. Блестящий :) –
@EdMorton Да, правильно! Благодаря! –