【发布时间】:2011-05-25 05:02:48
【问题描述】:
我有一个简单的 shell 脚本,可以从文件中删除尾随空格。有什么方法可以让这个脚本更紧凑(不创建临时文件)?
sed 's/[ \t]*$//' $1 > $1__.tmp
cat $1__.tmp > $1
rm $1__.tmp
【问题讨论】:
-
您可以使用
mv代替cat和rm。你为什么要这样使用cat?为什么不使用cp? -
我用从这个问题中学到的知识创建了a shell script for recursively removing trailing whitespace。
-
由于 Windows 上的 sed 中的错误,使用 MinGW 时您的解决方案实际上更好:stackoverflow.com/questions/14313318/…
-
请注意,使用
cat覆盖原始文件而不是mv实际上会替换原始文件中的数据(即不会破坏硬链接)。在许多解决方案中使用sed -i不会这样做。 IOW,继续做你正在做的事情。
标签: sed whitespace