我在Linux上运行的Perl中有一个脚本,并且在下面的行中出现错误未终止的地址正则表达式。
cat $filename | sed ‘sed /^\\s*$/d’ | wc -l
如何解决此问题?
答案 0 :(得分:0)
好像您要从文件中删除仅空白行。 sed语法为:
/^\s*$/d
您要传递给sed的是
sed /^\\s*$/d
这偶然是s / find / replace /的一种替换形式,但是使用e
而不是斜杠。 (在那里几乎可以使用任何字符。)
由于没有其他e
终止搜索和替换模式,因此sed会引发错误。
您需要的是:
% cat $filename | sed '/^\s*$/d' | wc -l
或者没有猫:
% sed '/^\s*$/d' $filename | wc -l
答案 1 :(得分:0)
尝试使用-E
正则表达式选项
sed -E '/^\s*$/d' $filename | wc -l