1

我有 2 个 perl 脚本,第一个从文件中删除空白 lins,第二个删除文件中的所有空格。我想知道,是否可以在 1 个脚本中连接这两个正则表达式?


对于空格,我使用了这个 regsub:$str =~ tr/ //d; 对于空白行,我使用了这个 regexp

while (<$file>) {
    if (/\S/){
    print $new_file $_; }}

4

2 回答 2

4

这应该很容易:只需tr/ //d在 if 行之前添加。

注意:它也会删除仅包含空格的行。如果要保留它们(但音译为空行),请在打印行之前插入音译。

于 2013-01-18T13:47:52.240 回答
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
于 2013-09-17T07:49:41.747 回答