我想從我的.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