2015-04-06 87 views
0

我使用这个代码从网址的职称http://something.txtperl的 - 使用grep和提取数据的Sed则

#!/usr/bin/perl -w 
$output = `cat source.html | grep -o '<a .*href=.*>' | grep -E 'txt' | sed -e 's/<a /\n<a /g' | sed -e 's/<a .*title="//' | cut -f1 -d '"'`; 

print("$output"); 

,当我在Perl的运行此我得到的错误:

sed: -e expression #1, char 6: unterminated `s' command 

误差与这个代码部分有关的:

sed -e 's/<a /\n<a /g' 
+1

您究竟在哪里提到了文件名? –

+0

@AvinashRaj这不是问题... – Christopher

+0

@toolic已更新! – Christopher

回答

2

在反引号,Perl使用相同的规则,如双引号。因此,\n对应于换行符;您必须将反斜杠反斜杠以将文字\传递到外壳:

`sed -e 's/<a /\\n<a /g'`