答案1
您不太可能想要丢弃管道的输出。您更有可能希望将其存储在某个地方,而不是让它淹没您的终端。
我认为这就是您正在寻找的:
$ tr '\n' ' ' < afile.txt | sed '$s/ $/\n/' >anotherfile.txt
这会将管道的结果放入文件anotherfile.txt
而不是终端上。然后,您可以自由地检查它并用它替换原始文件 ( mv anotherfile.txt afile.txt
),如果这与您想要实现的目标有意义的话。
>
管道末端是输出重定向它将重定向标准输出流到sed
指定的文件中。它以“相反的方式”工作输入重定向 <
之前在管道中使用它来将 的内容发送afile.txt
到 的标准输入流中tr
。
答案2
一般来说你可以沉默 acommand
的输出经过
command 1>/dev/null
写入 stderr 的内容仍然显示。如果您还想禁用到 stderr 的输出,请使用:
command 1>/dev/null 2>&1
甚至更短:
command &>/dev/null
如果您想了解有关重定向文件描述符的更多信息,请Redirecting Standard Output and Standard Error
在 bash 的手册页中查找。