gpt4 book ai didi

sed - 使用 sed 或 grep 从具有特定 id 的 html 标签之间提取文本

转载 作者:太空宇宙 更新时间:2023-11-04 04:21:07 24 4
gpt4 key购买 nike

我应该使用什么命令从以下 html 代码中提取文本,该代码位于包含以下内容的“test.html”文件中:“<span id="imAnID">extractme</span> ”?

该文件会更大,因此我需要将 grep 或 sed 指向一个 ID,然后告诉它仅从具有该 ID 的标签中提取文本。假设我从文件所在的目录运行终端,我正在这样做:

cat test.html | sed -n 's/.*<span id="imAnID">\(.*\)<\/span>.*/\1/p'

我做错了什么?我得到一个空的输出...如果更容易的话,不反对使用 grep 来实现此目的。

最佳答案

您可以尝试使用 awk 来代替:

  #!/bin/bash

start_tag="span id=\"imAnID\""
end_tag="/span"

awk -F'[<>]' -v taga="$start_tag" -v tagb="$end_tag" '{ i=1; while (i<=NF) { if ($(i)==taga && $(i+2)==tagb) { print $(i+1) }; i++} }'

使用方式:

$ ./script < infile > outfile

关于sed - 使用 sed 或 grep 从具有特定 id 的 html 标签之间提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13145762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com