gpt4 book ai didi

linux - 如何在 linux 中从 string1 搜索到 string2?

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

我正在编写一个 bash 脚本,它将下载页面,然后搜索 jpg 链接并下载它们。我受困于 grep/sed 命令,无法让它们找到链接。到目前为止,我已经尝试过:

grep -e "http.*" -e ".*jpg" -n wget.html

sed -n '/http/,/jpg/p' wget.html

如何在 Linux 中从 http://搜索到 jpg?或者除了 sed、grep 之外还有其他方法吗?

最佳答案

据我了解,您想提取所有 http://...jpg来自一些下载的 HTML 的字符串。我想理想情况下每行一个。

$ cat wget.html | grep -e 'http:.*jpg' |sed -e 's/^.*\(http:.*jpg\).*$/\1/g'

grep 仅挑选出包含 http refs 的行,sed 从这些行中去除所有其他垃圾。

这仅限于每个 HTML 行一个 http ref。如果无法假设,您可以在管道的开头添加类似“tr '>' '\010' 的内容,以拆分具有多个标记的行。

例子:

sal-xps:~  $ cat wget.html
<body>
<img src="http://foo.jpg">
<img src="http://bar/gronk.jpg">
</body>


sal-xps:~ $ cat wget.html | grep -e 'http:.*jpg' |sed -e 's/^.*\(http:.*jpg\).*$/\1/g'
http://foo.jpg
http://bar/gronk.jpg

关于linux - 如何在 linux 中从 string1 搜索到 string2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8539118/

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