将文件内容转换为小写并将结果存储在同一文件中

jop*_*hab 3 linux command-line tr

我使用以下命令将我的输入文件内容转换为小写

tr A-Z a-z < input > output 
Run Code Online (Sandbox Code Playgroud)

这个命令工作正常。

但是当我尝试将输出存储在输入文件本身中时,它不起作用。执行命令后输入文件为空。为什么?

 tr A-Z a-z < input > input 
Run Code Online (Sandbox Code Playgroud)

Zan*_*nna 8

如果你有 GNUsed你可以使用

sed -i 's/.*/\L&/' input
Run Code Online (Sandbox Code Playgroud)
  • -i 就地修改文件
  • s/old/new/替换oldnew
  • .* 每行的任何字符
  • \L 小写
  • & 匹配的模式