gpt4 book ai didi

linux - 如何grep特定行

转载 作者:太空狗 更新时间:2023-10-29 11:43:27 24 4
gpt4 key购买 nike

我正在尝试从 URL 中获取一些 ID。

在我的脚本中,我使用 while 循环和 wget 命令访问 URL,并将输出保存在文件中。

然后在同一个循环中我 grep XYZ User ID: 和这个字符串之后的 3 行,并将它保存到另一个文件。

当我打开这个输出文件时,我发现了以下几行。

< p >XYZ User ID:< /p>

< /td >

< td>

< p>2989288174< /p>

所以使用 grep 或任何其他东西我如何打印以下输出

XYZ User ID:2989288174

最佳答案

假设一个常量 tag 模式:

<p>XYZ User ID:</p>
</td>
<td>
<p>2989288174</p>

grep 应该是最好的方法:

grep -oP '(?<=p>)([^>]+?)(?=<\/p)' outputfile|while read user;do
read id
echo "$user $id"
done

请注意,look-behind 表达式的长度不能是可变的。这意味着您不能使用量词 ?*+ 等,也不能在其中交替使用不同长度的项目。

对于可变长度标签,awk 可能非常适合 oneliner 标签:

awk '/User ID/{print ""}/p *>/{printf $3}' FS='(p *>|<)' outputfile

关于linux - 如何grep特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31512441/

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