Я пытаюсь распечатать 4 разных вещи сразу с помощью этого.
wc -l text.txt >processed.txt | cat text.txt | sort -r | tail -1 >>processed.txt | head -1 >>processed.txt | tail -5 | head -1 >>processed.txt
Моя проблема состоит в том, что это только производит первое> команда в файл, и остальные проигнорированы, я попытался переместить их напрасно. Я сделал бы это линию за линией для этих 4 выводов, но это утверждено им бывший должный быть одной строкой.
Не делайте это одним большим конвейером: это похоже на 4 отдельных операции все на том же файле. Для каждой операции нужен доступ к исходному содержанию файла.
wc -l text.txt >processed.txt
sort -r text.txt | tail -1 >>processed.txt
head -1 text.txt >>processed.txt
tail -5 text.txt | head -1 >>processed.txt
Или, соберите в группу команды и имейте 1 перенаправление:
{
wc -l text.txt
sort -r text.txt | tail -1
head -1 text.txt
tail -5 text.txt | head -1
} >processed.txt
Если, как Вы пишете, это так или иначе должно быть на одной строке, добавьте некоторые точки с запятой:
{ wc -l text.txt; sort -r text.txt | tail -1; head -1 text.txt; tail -5 text.txt | head -1; } >processed.txt
Вы могли бы рассмотреть использование мочи
<text.txt pee 'wc -l' 'sort -r | tail -1' 'head -1' 'tail -5 | head -1' >processed.txt
pee
похож tee
для команд