如何运行“tr”(翻译命令)并使其输出静音?

如何运行“tr”(翻译命令)并使其输出静音?

我正在使用tr命令sed来替换文件中的文本,如下tr '\n' ' ' < afile.txt | sed '$s/ $/\n/'所示这里。尽管在大文件上运行它会使我的控制台充斥着输出替换文本。

所以我的需要是运行命令,但使其输出静音。我的谷歌搜索这里打电话tr --help对我没有帮助,所以我在这里问。

答案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 的手册页中查找。

相关内容