【问题标题】:perl - Extract data using grep and sedperl - 使用 grep 和 sed 提取数据
【发布时间】:2015-06-11 02:25:04
【问题描述】:

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

【问题讨论】:

  • 你在哪里实际提到了文件名?
  • @AvinashRaj 这不是问题...
  • 我在您的代码中看不到任何 perl。 What are you really trying to do?
  • @ghoti 我刚刚添加了所有代码。

标签: perl sed grep html-parsing


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-21
    • 2011-02-22
    • 1970-01-01
    • 2013-09-09
    • 2018-02-08
    • 2016-09-21
    • 1970-01-01
    • 2018-10-10
    相关资源
    最近更新 更多