Как избавиться от «-» разделителя строк при использовании grep - PullRequest
0 голосов
/ 31 мая 2018

Я использую команды, приведенные ниже, для разделения моего файла fastq на два отдельных парных файла чтения конца:

grep '@.*/1' -A 3 24538_7#2.fq >24538_7#2_1.fq
grep '@.*/2' -A 3 24538_7#2.fq >24538_7#2_2.fq

Но он автоматически вводит разделитель строки -- между записями.Следовательно, делая мой файл fastq неподходящим для дальнейшей обработки (потому что тогда он становится недопустимым форматом fastq).Итак, я хочу избавиться от разделителя строк (--).PS: я нашел ответ для Linux-машины, но я использую MacOS, и они не работают на Mac-терминале.

1 Ответ

0 голосов
/ 31 мая 2018

Вы можете использовать опцию --no-group-separator для ее подавления (в GNU grep).

В качестве альтернативы вы можете использовать (GNU) sed:

sed '\|@.*/1|,+3!d'

удаляет все строки, крометот, который соответствует @.*/1 и следующим трем строкам.

Для macOS sed вы можете использовать

sed -n '\|@.*/1|{N;N;N;p;}'

, но это быстро становится громоздким для дополнительных строк контекста.

...