2013-10-08 47 views

回答

4

打破位了每個不和將其轉換成的Perl:

tr -cd '[:print:]\n\r' 

以可打印字符,換行符和回車的補(-c)和刪除(-d)。 tr manpage告訴你這些做哪些。

tr -s ' ' 

將多個相同的字符(-s)摺疊爲一個字符。

sed -e 's/ $//' 

擺脫尾隨空間。

現在只要用你想使用的任何語言來做到這一點。將其組合在一起,你可能會喜歡這樣的:

perl -pe 's/\P{PosixPrint}//g; tr/ //s; s/ \z//;' 

注意,Perl的tr沒有做人物類,但我可以用一個補充(\P{...}用大寫字母P)Unicode character class做同樣的事情。 Perl字符類也理解常規的POSIX字符類。

+0

perl -pe's/[^ [:print:] \ r \ n] // g; tr/// s; s/\ z //;' #保存換行符 –

相關問題