我想从我的.rb文件中删除所有尾部空格。另外我想删除所有尾部的^ M字符。这是我得到的。它看起来好吗?删除所有尾部空格
find . -name '*.rb' | xargs perl -pi -e 's/ +$//'
我想从我的.rb文件中删除所有尾部空格。另外我想删除所有尾部的^ M字符。这是我得到的。它看起来好吗?删除所有尾部空格
find . -name '*.rb' | xargs perl -pi -e 's/ +$//'
如果你想为结尾的空白使用\s
元字符它代表所有空格字符
find . -name '*.rb' | xargs perl -pi -e 's/\s+$//'
如果你想保持一个换行符然后更改替换术语像
正则表达式find . -name '*.rb' | xargs perl -pi -e 's/\s+$/\n/'
或
find . -name '*.rb' | xargs perl -pi -e 's/\s+$/\r\n/'
但是,这将意味着行现在再次具有尾随空白。
我想找到+的sed会做的工作适合你:
find . -name '*.rb' -exec sed -i.bak 's/\s*$//' {} \;
在的Mac使用此命令,因为\s
(Perl扩展)未承认Mac的sed的:
find . -name '*.rb' -exec sed -i.bak 's/[ ^I^M]*$//' {} \;
-i
用于内联编辑
-i.bak
用于保留具有.bak扩展名的原始备份。
@Nick Vanderbilt:上面的命令将删除所有后缀的^^M字符,同时保留空白行。 – anubhava 2011-05-13 14:15:03
太棒了。它正在工作。谢谢。我如何告诉它对.js,.erb,.txt和.css执行相同的操作。 – 2011-05-13 14:16:53
您的脚本最终将删除's'。 - @households = @ user.households + @households = @ user.household – 2011-05-13 14:26:44
这里有问题吗? – Dancrumb 2011-05-13 14:00:21
我相信它也是(但请参阅Mimisbrunnr的回答)。你在问什么? – mcrumley 2011-05-13 14:03:34
对不起人。问题已更新。运行该命令的 – 2011-05-13 14:05:08