Перенаправления обрабатываются слева -на -справа.
При выполнении команды типа
somecommand >f1 >f2 >f3
оболочка сначала создаст или обрежет (пустой )файл f1
, затем f2
и, наконец, f3
. Затем он запускает somecommand
со своим стандартным выходом, подключенным к f3
.
Чтобы сохранить вывод команды в несколько файлов, вам придется дублировать данные для каждого выходного файла. Это проще всего сделать с помощьюtee
:
somecommand | tee f1 f2 >f3
Это отправляет вывод somecommand
в tee
, который дублирует его в два файла f1
и f2
. Утилита tee
также выводит те же данные на свой стандартный вывод, и в приведенной выше команде мы просто перенаправляем их в f3
.
В вашем случае вы должны использовать
nohup cat fastp-filtered/OZBenth*_R1.fastp.fq.gz 2>&1 |
tee fastp-filtered-merged4racon/merge_R1.fq.gz >merge_R1.out.log &
2>&1
заставляет поток ошибок из cat
также отправляться в tee
(это может быть нежелательно, так как любые ошибки могут повредить результирующий архив ).
tee
усекает выходные файлы точно так же, как это сделал бы >
. Используйте tee
с опцией -a
для добавления данных в выходной файл.
Маловероятно, что вы на самом деле хотели, чтобы все выходные данные из cat
записывались в два файла, поэтому предположим, что вы хотите сохранить ошибки в файле журнала, а объединенные архивы в выходной файл. файл, вы бы вместо этого сделали
nohup cat fastp-filtered/OZBenth*_R1.fastp.fq.gz \
>fastp-filtered-merged4racon/merge_R1.fq.gz \
2>merge_R1.out.log &
вообще без необходимости использовать tee
.
Разобрался. Мой файл кикстарта никогда не использовался ('Doh ). Исправил мои файлы, и как только он нашел мой файл кикстарта, мы были готовы к работе.