Bash,打印一个值

  • 本文关键字:一个 打印 Bash bash
  • 更新时间 :
  • 英文 :


我必须显示下面的数字:

<td class="sorted"><strong>Impact Factor </strong></td>
<td>162.500</td>

我试过grep,sed,awk,但就是无法正常工作。数字在下一行,我曾尝试使用 find 来定位顶部代码并将其存储为名为 $temp 的变量。然后尝试打印下一行,希望删除后面的td引号。

下面是我的代码谢谢!

temp=$(fgrep '<td class="sorted"><strong>Impact Factor </strong></td>' $i)
impact=$(sed -n '/$temp/ {n;P}' $i)

$i存储了一个 html 页面。

我可以使用这部分代码将数字传送出去| head -n 1 | cut -d'>' -f4- | cut -d'<' -f1否则,但目标是 162.5

提前致谢

您可以使用下面的 grep 命令,该命令使用 PCRE 正则表达式。

$ grep -Pzo '<td class="sorted"><strong>Impact Factor </strong></td>[^>]*>Kd+(?:.d+)?' file
162.500

您可以使用 grep 的 -A 选项来获取下一行:

grep 'sorted' -A1 $i|grep -v sorted|grep td|cut -d">" -f2|cut -d"<" -f1

(注意:为了简洁起见,我缩短了第一个 grep 搜索字符串)

相关内容

  • 没有找到相关文章

最新更新