我想从.rb文件中删除所有尾随空格。此外,我想删除所有尾随^ M字符。这就是我所拥有的。看起来好吗?
find . -name '*.rb' | xargs perl -pi -e 's/ +$//'
答案 0 :(得分:4)
如果你想要一个用于尾随空格的正则表达式,请使用代表所有空白字符的\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/'
但这意味着行现在再次有尾随空格。
答案 1 :(得分:0)
我认为find + sed将为您完成这项工作:
find . -name '*.rb' -exec sed -i.bak 's/\s*$//' {} \;
在 Mac 上使用此命令,因为在Mac的sed上无法识别\s
(perl扩展名):
find . -name '*.rb' -exec sed -i.bak 's/[ ^I^M]*$//' {} \;
-i
用于内联编辑
-i.bak
用于保留原始文件的备份,扩展名为.bak。