我正在使用此代码从http://something.txt
#!/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'
答案 0 :(得分:2)
在反引号中,Perl使用与双引号中相同的规则。因此,\n
对应换行符;你必须反斜杠反斜杠以将文字\
传递给shell:
`sed -e 's/<a /\\n<a /g'`