You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何去除wget输出中的重复行?附代码及重复输出示例

解决wget爬取链接时输出重复行的问题

我看了你现在用的命令,问题出在去重的时机不对哦!你现在是在每个子页面爬取后就执行sort | uniq,这只能去掉单个页面里的重复链接,但不同页面可能会包含同一个图片的URL,所以最终输出还是会有重复。

给你调整一下命令,把去重步骤移到整个循环的外面,让所有页面的链接都汇总后再统一处理:

wget -q "http://www.sawfirst.com/selena-gomez" -O - | tr ">" "\n" | grep 'selena-gomez-' | cut -d'"' -f2 | cut -d'#' -f1 | while read url; do
    wget -q "$url" -O - | tr ">" "\n" | grep 'name=.*content=.*jpg' | cut -d"'" -f4
done | sort -u

为什么这样改?

  • 原来的sort | uniq是在每个子循环里单独处理,只能处理单页面内的重复;
  • 现在把所有子页面输出的链接先全部收集起来,最后用sort -u(等同于sort | uniq但更高效)统一去重,就能彻底消除跨页面的重复链接了。

这样修改后,你再运行命令,应该就不会看到重复的图片URL啦!

内容的提问来源于stack exchange,提问作者SK7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 06:59:43