为什么我不断地破坏我的文本文件?

为什么我不断地破坏我的文本文件?

我已经销毁了一堆非必要的文件,但我不知道为什么。我一直在执行如下命令:

tr -sc 'A-Za-z' '\n' > somefile.txt | less

没有输出(带有闪烁 END 的空白页),并且检查后文件中的所有内容都被删除。

另一个删除全文文件的命令

grep someword > someotherfile.txt  | less

答案1

>运算符的意思是“获取命令的输出,截断指定的文件,然后将命令的输出写入该文件。

读取该命令行我猜您想要的<是“从该文件读取标准输入,并将其提供给命令”。

答案2

当您熟悉 I/O 重定向时,您可能会发现启用noclobbershell 设置“更安全”。这可以防止无意中破坏您的文件。请参阅您的 shell 手册页并http://en.wikipedia.org/wiki/Clobbering

答案3

这些命令已经破坏了文本文件,因为您告诉它(> file将在写入之前截断任何现有文件)。您可能正在寻找<,这意味着“重定向标准输入这里”。

相关内容