2013-10-08 46 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 //;' #保存换行符 –

相关问题