设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

一条命令下载google壁纸

2012-7-31 09:58| 发布者: 红黑魂| 查看: 1612| 评论: 0|来自: Ubuntu之家

摘要: 命令如下:1for i in {1..10}; do for url in $(wget -O- -U "" "http://images.google.com/images?imgsz=xxlargehl=enq=wallpapersa=Nstart=${i}ndsp=10" --quiet | grep -oe 'http://*\.jpg');do ...

命令如下:

1
for i in {1..10}; do for url in $(wget -O- -U "" "http://images.google.com/images?imgsz=xxlarge&hl=en&q=wallpaper&sa=N&start=${i}&ndsp=10" --quiet | grep -oe 'http://[^"]*\.jpg');do wget $url; done done

该命令是从google图片搜索上搜索wallpaper的大尺寸图片,匹配其中的jpg文件进行下载。

1
2
3
4
5
for i in {1..10}; do
    for url in $(wget -O- -U "" "http://images.google.com/images?imgsz=xxlarge&hl=en&q=wallpaper&sa=N&start=${i}&ndsp=10" --quiet | grep -oe 'http://[^"]*\.jpg');do
        wget $url;
    done
done

我们逐行说下这句shell的意思。

1. 这句好理解一个for循环,令i从1到10.

2. 这也是一个for循环, $()这个是说明将里面的内容执行然后逐一赋值给url。

wget 是一个非交互式的网络文件下载工具,如果未安装执行sudo apt-get install wget进行安装。-O指定下载后的输出文件,如果指定的文件是“-“,代表标准输出;-U 指定agent,而非wget自带的。–quiet安静模式 (无信息输出)。

然后通过管道(管道指|)将输出传递给grep命令(在文件或输入中进行查找的命令)-o指示只显示匹配到的东西,-e指示使用正则进行匹配,
‘http://[^"]*\.jpg’是一个正则表达式,这里不介绍了。
3. wget下载匹配到的url。
4,5. done表示for结束。
总结:该命令下载google的搜索结果,匹配jpg图片地址,然后逐一下载。

原创文章如转载请注明:转自Ubuntu之家 {www.ubuntuhome.com}


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部