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

#!/bin/bash
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_download.sh脚本的内容。

我们逐行说下这句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图片地址,然后逐一下载。

可是我在使用了,犯了一个错误,特记录如下:

linux下sh执行 syntax error near unexpected token ' 错误解决方法:

将windows下的sh文件放到linux上执行后,会出现如标题的错误。该错误有文件格式引起的,具体来说,有几种方式可以尝试下。

在windows下,用ultraedit打开文件,将光标定位到换行处,然后"切换十六进制编辑模式“,可以看到换行处的值为”0D 0A",altraedit最下的工具栏可以看到“DOS”的文件样式。altra edit有带"DOS转UNIX“的功能,转换下,即可在最下的工具栏为"UNIX"字样,切换十六进制编辑模式看到的换行处的值就为"0A"字样,这时传递上去,执行sh就没有问题了。

linux自身有带dos2unix的命令,转换一下,这个没有试过,不过应该可行。

一条命令下载google壁纸,含错误解决方法相关推荐

  1. (收藏必备)git clone命令下载github资源速度慢解决方法

    (收藏必备)机器视觉全栈开发常用资源下载加速hub 方法简述: 将开头的https换成git,如 git clone https://github.com/pytorch/pytorch.git 换成 ...

  2. IDEA2020.1中 maven 下载依赖Cannot resolve 错误解决方法

    关于这个bug,我找了一天的教程,试了很多方法但是对于我的系统都不行, 最后找到解决办法后真的是让人啼笑皆非,原因竟是我的pom文件中的dependency标签内容全是复制文档中的,所以maven不会 ...

  3. ✔✔✔ TensorBoard 的正确打开方法(含错误解决方法,超详细) ✔✔✔

    文章目录 TensorBoard 的正确打开方法 Step1. 代码准备 Step2. 改变环境 Step3. 再次确认日志文件是否导出成功 如果文件夹为空,会有以下提示(我这里用了一个不存在的文件夹 ...

  4. excel2003出现“向程序发送命令时出现错误”解决方法

    excel2003出现"向程序发送命令时出现错误"解决方法 参考文章: (1)excel2003出现"向程序发送命令时出现错误"解决方法 (2)https:// ...

  5. 僵尸毁灭工程 服务器已停止运行,《僵尸毁灭工程》steam is not enabled错误解决方法...

    Steam 上面的 Project Zomboid 因为带有 VAC 所以建服开服需要 Steam服务器认证,这也是出现 steam is not enabled 错误主要原因,也是无法和普通零售正版 ...

  6. 安装向导因错误而提前结束_【软件安装】SIMATIC STEP7 V5.6中文版安装教程及错误解决方法...

    1 安装要求 1. 只能在win10系统上安装,win7和XP系统是不能安装的,win10系统建议安装win10专业版的. 2. 电脑配置,250G硬盘空间,4G运行内存,CPU至少2.1HZ频率. ...

  7. GetLastError()10013错误解决方法及错误列表

    10013错误解决方法 10013错误为以一种访问权限不允许的方式做了一个访问套接字的尝试. 错误原因: 1.SOCKET socketRaw = socket(AF_INET,SOCK_RAW,IP ...

  8. 编译Android7.1源码出现OOM错误解决方法

    一:编译Android7.1源码出现OOM错误解决方法 在Android7.1编译过程中出现如下错误: Starting build with ninjaninja: Entering directo ...

  9. SQL Sever2012 创建表时发生“未指定错误”解决方法

    @[TOC]( SQL Sever2012 创建表时发生"未指定错误"解决方法 下载SQL2012,界面一般,而且从第二次使用时就发现,第一次创建的数据库都打不开,说是什么位置移动 ...

最新文章

  1. 全球及中国重型设备备件行业发展动态及未来趋势调研报告2021年版
  2. electron 解压zip_如何将Node.js中的.zip/.rar文件解压缩到文件夹中
  3. Angular 原理图 Schematics 学习 - 动手开发一个实际的例子
  4. mqtt java_MQTT和Java入门
  5. Hazelcast入门指南第4部分
  6. RTX5 | 内存池01 - 内存池的使用
  7. java for循环前面label_Java 实例
  8. c语言模拟实现库函数strcat,【C语言】模拟实现库函数strcat函数
  9. jsp页面div上下滑动_H5单页面手势滑屏切换原理
  10. 关于批处理的学习之二[显示篇]
  11. 单片机技术应用实训考核,AT89S52单片机应用教学,QY-KC20
  12. 《东周列国志》第五十四回 荀林父纵属亡师 孟侏儒托优悟主
  13. Win11家庭版没有本地组策略编辑器怎么办?
  14. 文件服务器查询重复文件,DupScout – 重复文件扫描、删除或移动的免费工具
  15. 魔性的数字人形时钟动态pc端电脑屏幕保护
  16. 沈阳python需求大吗_我为什么放弃了敲代码,做产品?
  17. Python表白:你值你值得拥有,找不到对象你来找我,这也太秀了叭
  18. C语言实现人物动态移动效果
  19. SCI/ISTP和EI论文检索号IDS number和收录号查询方法
  20. ai 如何导出html格式,Adobe Illustrator导出SVG的设置方法

热门文章

  1. 2022-2028年中国搪胶行业市场深度分析及投资前景分析报告
  2. 重写浏览器alert解决ios端原生alert出现当前网址的URL
  3. os.system() 和 os.popen()
  4. C# split 几种使用方法
  5. 关闭Windows 7中的 Program Compatibility Assistant
  6. 桥接模式和路由模式区别_【微课堂】路由器设置:桥接模式vs路由模式
  7. pip 升级_python的pip命令
  8. 华科计算机优势专业排名,985高校强势热门专业排行榜,浙大川大华科表现较好...
  9. java课程心得_javaweb课程心得体会(三)
  10. usb禁止重定向_远程桌面中的USB重定向技术解析(功能篇)