我有2个perl脚本,第一个从文件中删除空白lins,第二个删除文件中的所有空格。我想知道,如果可以在1个脚本中连接这两个正则表达式吗?
对于空格,我使用过这个regsub:$str =~ tr/ //d;
而对于空行,我使用了这个正则表达式
while (<$file>) {
if (/\S/){
print $new_file $_; }}
答案 0 :(得分:4)
应该非常简单:只需在if行之前添加tr/ //d
。
注意:它也会删除仅包含空格的行。如果要保留它们(但音译为空行),请在打印行之前插入音译。
答案 1 :(得分:2)
如果您希望修剪包含空格的行的末尾, 你可能希望它像这样工作:
perl -pi -e 's/\s*$/\n/' f1 f2 f3 #UNIX file format
perl -pi -e 's/\s*$/\r\n/' f1 f2 f3 #DOS file format