perl - 使用grep和sed提取数据

时间:2015-04-06 16:43:06

标签: perl sed grep html-parsing

我正在使用此代码从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'

1 个答案:

答案 0 :(得分:2)

在反引号中,Perl使用与双引号中相同的规则。因此,\n对应换行符;你必须反斜杠反斜杠以将文字\传递给shell:

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