Маловероятно, что вы захотите отказаться от вывода конвейера. Более вероятно, что вы хотели бы хранить его где-нибудь, а не заполнять терминал.
Я думаю, это то, что вам нужно:
$ tr '\n' ' ' < afile.txt | sed '$s/ $/\n/' >anotherfile.txt
Это поместит результат конвейера в файл anotherfile.txt
, а не на терминал. Затем вы можете проверить его и заменить им исходный файл (mv otherfile.txt afile.txt
), если это имеет смысл с тем, чего вы пытаетесь достичь.
>
в конце конвейера — это перенаправление вывода, которое перенаправляет стандартный поток вывода sed
в указанный файл. Он работает «обратно» перенаправлению ввода <
, которое использовалось ранее в конвейере для отправки содержимого afile.txt
в стандартный поток ввода тр
.