Добавление вывода команды в цикл for

Я использую простой цикл для обработки определенных входных файлов и получения вывода в одном файле. То, что я использую,

for k in ../some_directory/*.txt; do command (containing -i $k -o outputfile.txt); done 

Теперь каждый цикл дает выход. Я хочу, чтобы результат был написан в одном файле. Этот цикл просто заменяет все предыдущие файлы и дает мне несколько файлов outputfile.txt каждый с выходом из каждого цикла. Как добавить команду в один файл? Я не хочу, чтобы экран выводился, но выводился из каждой команды.

ПРИМЕЧАНИЕ. Я не говорю об этом или этом

У вас есть два варианта, чтобы получить желаемый результат:

 for k in /path/to/*.txt; do some_command -i "$k" >> /path/to/output.txt done ( for k in /path/to/*.txt; do some_command -i "$k" done ) >> /path/to/output.txt 

Если ваша программа не записывает на стандартный вывод и записывает только файл, указанный в -o , вы можете сделать это:

 for k in /path/to/*.txt; do some_command -i "$k" -o /tmp/output.txt cat /tmp/output.txt >> /path/to/real_output.txt done rm /tmp/output.txt 

Просто подумал о более простом решении. Мне просто нужно было указать то же имя файла, что и вывод. Это решило мою проблему, так как все изменения добавляются, а старый выходной файл получает резервную копию.

благодаря