хвост: ошибка записи "стандартный вывод": Broken pipe

Если вы готовы использовать sed, вы можете сделать так:

sed -n '/^01\/14 08:00/,/^01\/14 08:10/p' foo

В общем, вы можете использовать переменные bash для замены конкретных времен в приведенной выше команде. Например:

st="01\/14 08:00"
en="01\/14 08:25"
sed -n "/^$st/,/^$en/p" foo #note the double quotes

Вам нужно экранировать символ / символом \, если вы используете / в качестве разделителя, как показано в приведенной выше команде.

1
04.05.2019, 19:48
1 ответ

Ваш код

tail -c +${index[${contig}]} ${fasta} |
awk '$0~/>/{exit}1' |
awk -f ${pipeline}/utils/reverse-fasta.awk -

Если первый awkнаходит в строке заголовка Fasta (строку, начинающуюся с символа >), он завершает работу. Когда эта команда awkзавершается, больше никто не читает вывод команды tail, и tailуничтожается сигналом SIGPIPE.

Вероятно, это связано с проблемой с вашим массивом indexили, в любом случае, с некоторым несоответствием между файлом Fasta, из которого вы читаете, и местом в файле, в котором вы ожидаете найти данные последовательности.

0
28.01.2020, 00:24

Теги

Похожие вопросы