首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

shell脚本-仅当文件名在我的列表中时才使用wget下载文件

Shell脚本是一种用于自动化任务和批处理的脚本语言,常用于Unix和Linux系统中。它通过命令行解释器执行,可以执行一系列命令和操作。

在这个问答内容中,我们需要编写一个Shell脚本,只有当文件名在指定列表中时才使用wget命令下载文件。下面是一个完善且全面的答案:

代码语言:shell
复制
#!/bin/bash

# 定义文件列表
file_list=("file1.txt" "file2.txt" "file3.txt")

# 获取当前目录下的所有文件
current_files=$(ls)

# 遍历文件列表
for file in "${file_list[@]}"
do
    # 检查文件是否存在于当前目录
    if [[ " ${current_files[@]} " =~ " ${file} " ]]; then
        # 使用wget下载文件
        wget <下载链接>
    fi
done

上述脚本中,我们首先定义了一个文件列表file_list,其中包含了需要下载的文件名。然后,通过ls命令获取当前目录下的所有文件,并将结果保存在current_files变量中。

接下来,我们使用for循环遍历文件列表。在循环中,我们使用[[ " ${current_files[@]} " =~ " ${file} " ]]语句检查文件是否存在于当前目录。如果存在,就执行wget命令下载文件。

需要注意的是,上述脚本中的<下载链接>需要替换为实际的文件下载链接。

推荐的腾讯云相关产品和产品介绍链接地址:

以上是一个完善且全面的答案,涵盖了Shell脚本的概念、用途、实现方式以及相关的腾讯云产品推荐。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Ansible

command模块远程主机执行命令,不会经过远程主机shell处理,使用command模块,如果需要执行命令含比如””, “|”, “;” 和 “&” 这些符号,这些符号功能也会失效...dest=/var/ftp/' [root@ansible-server ~]# ansible ftp -m shell -a 'ls /var/ftp' content:此参数使用src指定拷贝文件...,是否对远程主机文件进行备份,可选值有yes和no,设置为yes,会先备份远程主机文件,然后再将ansible主机文件拷贝到远程主机 owner:此参数指定文件拷贝到远程主机后属主,但是远程主机上必须有对应用户...playbook 与ad-hoc相比是一种完全不同运用方式,剧本需要遵循YAML语法格式编写,文件名以”.yaml”或者”.yml”作为文件名后缀 playbook核心元素 hosts:执行远程主机列表...,(注意:横杠后面有空格)表示要在websrvs这组主机上进行操作,YAML语法,键值对需要使用冒号作为分隔,而且冒号后边必须还要有一个空格作为分隔 #第三行:remote_user关键字可以指定在进行远程操作使用哪个用户进行操作

2.7K30

每天一个linux命令:wget命令

–egd-file=FILE 指定EGD socket文件名 下载参数: –bind-address=ADDRESS 指定本地使用地址(主机名或IP,本地有多个IP或名字使用) -t, –tries...文件所有图片 递归下载包含和不包含(accept/reject): -A, –accept=LIST 分号分隔被接受扩展名列表 -R, –reject=LIST 分号分隔不被接受扩展名列表...=LIST 分号分隔被跟踪HTML标签列表 -G, –ignore-tags=LIST 分号分隔被忽略HTML标签列表 -H, –span-hosts 递归转到外部主机 -L, –relative...实例12:使用wget -o把下载信息存入日志文件 命令: wget -o download.log URL 说明: 不希望下载信息直接显示终端而是一个日志文件,可以使用 实例13:使用wget -.../configure  # make  # make install  参考资料: Linux 基础 shell脚本编程 Linux 基础 shell命令 Linux 基础 软件包管理及shell命令

2K20

WindowsLinux文件下载方式汇总

目标主机上安装了ncat是我们可以使用ncat来实现文件下载,当然这种场景实战少之又少~ 首先,我们本地使用nc起一个监听,并传递我们想要传输文件名称: nc -lvp 4444 < evil.exe...之后终端运行该perl文件即可: ? Ruby 目标主机内安装了Ruby,我们可以终端使用vim来编辑一个Ruby脚本,之后执行Ruby来实现远程文件下载: #!ruby #!...成功下载文件到本地 ? PHP 目标主机内安装了Ruby,我们可以终端使用vim来编辑一个PHP脚本,之后执行PHP来实现远程文件下载: <?...Python Python是目前很受欢迎主流脚本语言,目标主机内安装了python,我们可以shell使用python来实现远程文件下载: Type "help", "copyright",...目标主机上安装了ncat是我们可以使用ncat来实现文件下载,当然这种场景实战少之又少~ 首先,我们本地使用nc起一个监听,并传递我们想要传输文件名称: nc -lvp 4444 < evil.sh

1.8K50

WGet使用指南

wget是一个从网络上自动下载文件自由工具。它支持HTTP,HTTPS和FTP协议,可以使用HTTP代理. 所谓自动下载是指,wget可以在用户退出系统之后在后台执行。...这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据需要用户一直参与,这省去了极大麻烦。...用法是:mozilla中将不方便当时下载URL链接拷贝到内存然后粘贴到文件filelist.txt晚上要出去系统前执行上面代码第二条。...使用代理下载 wget -Y on -p -k https://sourceforge.net/projects/wvware/ 代理可以环境变量或wgetrc文件设定 # 环境变量设定代理...指定EGD socket文件名 下载 --bind-address=ADDRESS 指定本地使用地址(主机名或IP,本地有多个IP或名字使用) -t, --tries=NUMBER

97910

Linux 下让工作效率翻倍 4 个实用技巧

建议还没有形成自己使用习惯读者使用提供版本,先用起来,实际使用慢慢理解,相信过不了多久就能习惯 Vim,再根据自己需求调整或重新配置。...重新开启一个终端窗口就可以使用 Vim 打开代码看看效果了: 上述界面可以看到,左侧界面是文件列表(默认不显示,F3 开/关),右侧函数列表(默认显示,F9 开/关),可以使用CTRL + W 各个区域之间跳转...搜索一个文件 使用 F3 呼出文件列表同目录下打开文件还是比较方便,但如果需要打开其它位置文件还是不太方便,可以按 F5 呼出文件查找窗口,输入项目中文件名,快速开启文件。...这就是本小节关键技巧所在,利用 source 命令将脚本函数导入当前 shell,这样脚本函数就可以和其他 shell 命令一样使用了,如有其他需求,可以 envswitch.sh 文件增加函数即可...再谈谈 bd 命令 细心同学可能已经发现了,其实我们之前使用 bd 命令也只是一个 50 多行脚本,我们平时使用也可以花时间写一些自己脚本,这样不断积累下来,工作效率才会不断提升,所谓磨刀不误砍柴工嘛

59410

Zabbix发送带附件邮件

Zabbix告警由于内容主体有诸多限制,很难传达所有的告警信息,可以通过添加附件方式将详细信息发送给接收人,比如说要发送文件存在apache文件服务器,这个文件内容每隔一段时间会变动,我们可以将文件链接放在消息主体...,shell脚本接收到消息主体参数,解析出其中链接,并将内容下载到缓存文件,然后将该文件以附件方式随邮件一起发送出去。...#将文件下载到指定目录 wget -P /usr/lib/zabbix/alertscripts $http else wget -P /usr/lib/zabbix/alertscripts $http...rm $fileDir 触发器被触发,收到带附件邮件 ?...备注:由于shell脚本存在删除操作,所以一定要记得给文件以及文件所在文件夹添加zabbix用户权限

62230

Linux运维必须要掌握命令

,路由表 -e:显示扩展信息,例如uid等 -s:按各个协议进行统计 -c:每隔一个固定时间,执行该netstat命令 3.5 wget 语法:wget(选项)(参数) 功能:用来从指定URL下载文件...参数: -a:指定日志文件记录资料执行过程 -A:指定要下载文件后缀名,多个后缀名之间使用逗号进行分隔 -b:进行后台方式运行wget -B:设置参考连接地址基地地址...>:作为文件“.wgetrc”一部分执行指定指令 -h:显示指令帮助信息 -i:从指定文件获取要下载URL地址 -l:设置顺着目录列表,多个目录用“,”分隔 -L:顺着关联连接...-r:递归下载方式 -nc:文件存在下载文件不覆盖原有文件 -nv:下载只显示更新和出错信息,不显示指令详细执行过程 -q:不显示指令执行过程 -nh:不查询主机名称 -v:显示详细执行过程...则会同时检查所有的文件系统 -r:采用互动模式,执行修复询问问题,让用户得以确认并决定处理方式 -R:搭配”-A”参数使用时,则会略过/目录文件系统不予检查 -s:依序执行检查作业,而非同时执行

1.1K10

Linux笔记

) 语法 grep [选项] 模式 文件名 选项说明: -c:列出文件包含模式行数(统计) -i:忽略模式字母大小写 -l:列出带有匹配行文件名 -n:每一行最前面列出行号...,sed 会按照此规则来编辑数据 sed 会根据脚本命令来处理文本文件数据,这些命令要么从命令行输入,要么存储一个文本文件,此命令执行数据 顺序如下: 每次读取一行内容;...gzip [选项] 源文件 命令文件进行压缩操作,指的是普通文件进行解压缩操作,指的是压缩文件 选项说明: -c:将压缩数据输出到标准输出,并保留源文件 -d:对压缩文件进行解压缩...;一个组可以有多个用户,一个用户也可以属于不同一个用户同时是多个组成员/etc/passwd文件记录是用户所属主组,也就是登录所属默认组,而其他组称为附加组 用户要访问属于附加组文件...需要注意是,删除软件之前,应先将软件停止服务 rm -rf /usr/local/软件名称 wget 语法: wget [选项] URL 选项说明: -O 文件名下载并以不同文件名保存

1.5K30

linux两台服务器之间传输文件文件

目标主机需要事先打开rcp功能,并设置好rcp权限:把源主机加入到可信任主机列表,否则无法源主机上使用rcp远程复制文件到目标主机。...希望将remote_hostname上remote_file放到其他目录(远程主目录除外)下需要为其指定完整(绝对)路径。...如果提供了远程主机名,rcp 将把 test1 复制到远程主目录下,名称仍为 test1 。 还可以目的目录包含文件名。...】 wget是一个从网络上自动下载文件自由工具,支持通过HTTP、HTTPS、FTP三个最常见TCP/IP协议下载,并可以使用HTTP代理。...使用双冒号分割主机名和文件路径,是使用rsync服务器,这里不做介绍。

1.3K60

UNIX 高手 10 个习惯

,然后解压缩它,养成使用 -C 习惯则更加可取——存档文件位于其他某个位置尤其如此。...另一个命令返回零退出状态运行某个命令 使用 && 控制操作符来组合两个命令,以便 第一个命令返回零退出状态运行第二个命令。换句话说,如果第一个命令运行成功,则第二个命令将运行。...另一个命令返回非零退出状态运行某个命令 类似地,|| 控制操作符分隔两个命令,并且第一个命令返回非零退出状态运行第二个命令。换句话说,如果第一个命令成功,则第二个命令不会运行。...您在命令列表重新定义环境变量,并且您不希望将那些定义应用于当前 Shell 使用 Subshell 更可取。...使用带多个筛选选项之一 cat 真正有必要在管道前首先执行连接。 结束语:养成好习惯 最好检查一下您命令行习惯任何不良使用模式。

1.1K90

从七个字符长度任意命令执行到GetShell

分析 直接写shell是不可能,因为 1=echo 1>1 都8个字符了,已经超了 下载一个shell也是不可行,1=wget a.cn也超了。 所以需要想其他办法。...可以利用就只有文件名了。 利用文件名是否可以getshell呢?? 刚想到这里,yichin说这样1=ls >a,能否有办法写入个shell呢? 这句话一下子惊醒了,顿时明白了这里面套路。...是echo 一个shell到php文件,还是用wget下载一个shell呢。 经过测试 ,发现echo一个shell貌似不行或者说很麻烦,搞了好久也没成功,主要是php语句换行问题。...所以接下来只需要把这个sh文件每一行都存为一个文件名,然后ls >a,sh a,就坐等shell了。...ls -t列出来文件顺序是:最后创建文件最前面,所以我们创建文件时候要先创建最后一行1.php,最后创建文件wget\ 给个python写POC: #!

38620

Linux操作10个好习惯

,然后解压缩它,养成使用 -C 习惯则更加可取——存档文件位于其他某个位置尤其如此。...另一个命令返回零退出状态运行某个命令 使用 && 控制操作符来组合两个命令,以便 第一个命令返回零退出状态运行第二个命令。换句话说,如果第一个命令运行成功,则第二个命令将运行。...另一个命令返回非零退出状态运行某个命令 类似地,|| 控制操作符分隔两个命令,并且第一个命令返回非零退出状态运行第二个命令。换句话说,如果第一个命令成功,则第二个命令不会运行。...您在命令列表重新定义环境变量,并且您不希望将那些定义应用于当前 Shell 使用 Subshell 更可取。...使用带多个筛选选项之一 cat 真正有必要在管道前首先执行连接。 结束语:养成好习惯 最好检查一下您命令行习惯任何不良使用模式。

99330

Shell(Linux)常用命令

windows系统见到桌面即explorer.exe(资源管理器)是图形shell,而cmd就是命令行shell(Command shell)。...-r 递归复制目录 -p 保留原有文件或目录属性 -i 覆盖文件之前先询问用户 -u 文件比目的文件修改时间新复制 -v 显示复制信息 示例: 复制目录: # cp -rf test...参数: -b 目标文件存在创建备份,备份文件文件名跟~ -u 文件比目的文件修改时间新移动 -v 显示移动信息 示例: 移动文件: # mv a.txt /opt 重命名文件: # mv...-u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件其他文件解压缩到目录。 -v 执行是显示详细信息。 -z 显示压缩文件备注文字。 -a 对文本文件进行必要字符转换。...-D, –domains=LIST 逗号分隔被下载列表 –exclude-domains=LIST 排除不被下载列表 ​ 示例: 下载单个文件到当前目录: # wget http:

3.1K30

实力解剖一枚挖矿脚本,风骚操作亮瞎双眼

直到统一监控脚本接管了这几台机器,异常情况得以浮出水面。最后发现了多个奇奇怪怪进程,发现是一个挖矿脚本下载下来学习了一下,发现脚本编写者,有着较高水平。...像我们平常用bash、zsh等,属于sh超集,这个脚本使用sh作为执行shell,具有更好可移植性。...[[ ]]是shell内置一个命令,支持字符串模式匹配。使用=~时候,甚至支持shell正则表达式,强大令人发指。它输出结果是一个bool类型,所以能够使用||进行拼接。...,如果判断文件大小不一致,那么就重新下载一个。...shell函数,看起来比较怪异,后面的参数传递,就像是脚本传递一样,传送给函数。

80420

使用Shell脚本实现FTP自动上传和下载文件

日常备份数据,省时方法是在后台通过ftp传输数据,可以尝试以下操作方式。...登录FTP实现下载文件功能 FTP服务器:192.168.0.199 FTP路径:/ftphome/data 本地路径:/local/data 将文件从FTP下载到本地脚本如下: 批量下载脚本代码...-g:禁用文件名元字符拓展,即取消全局文件名。 -i :关闭多文件传输交互式提示。 -n:防止起始连接自动登录。...(这里表示/ftphome/getDownloadData文件夹下): lcd /ftphome/getDownloadData 切换交互式提示 prompt 使用mget或mput,prompt...<<用法:shell看到<<时候,它就会知道下一个词是一个分界符。该分界符以后内容都被当作输入,直到shell又看到该分界符(位于单独一行)。因此分界符可以是定义任何字符串。

5.5K32

Linux下使用Shell脚本实现FTP自动上传和下载文件

登录FTP实现下载文件功能 FTP服务器:192.168.0.199 FTP路径:/ftphome/data 本地路径:/local/data 将文件从FTP下载到本地脚本如下: 批量下载脚本代码...-g:禁用文件名元字符拓展,即取消全局文件名。 -i :关闭多文件传输交互式提示。 -n:防止起始连接自动登录。...传输很大文件,如果FTP已显示这种信息,表示传输正在进行。hash命令是一个布尔变量式命令,用hash命令打开显示#开关,再用hash命令关闭显示。...(这里表示/ftphome/getDownloadData文件夹下): lcd /ftphome/getDownloadData 切换交互式提示 prompt 使用mget或mput,prompt...<<用法:shell看到<<时候,它就会知道下一个词是一个分界符。该分界符以后内容都被当作输入,直到shell又看到该分界符(位于单独一行)。因此分界符可以是定义任何字符串。

8.9K02

搞孟德尔随机化热点小伙伴数据分析能力有点弱啊

只需要一个简单循环即可,前面的文章数据GWAS catalog ,里面的索引号是 GCST90277238-GCST90277416 ,一个简单 Shell 脚本示例,使用wget 命令和一个...++)); do # 构建完整下载链接 file_url="${base_url}GCST${i}/GCST${i}.tsv.gz" # 使用wget下载文件到指定目录...这个脚本下载范围内每个文件,并保存到指定目录。确保你系统上已经安装了 wget 命令。...Python,你可以使用requests库来下载文件。...第3阶段:元字符,通配符及shell各种扩展,从此linux操作不再神秘! 第4阶段:高级目录管理:软硬链接,绝对路径和相对路径,环境变量。 第5阶段:任务提交及批处理,脚本编写解放你双手。

68510

Linux超级漂亮Shell

在用户启动所有 shell 中共享命令历史 通过扩展文件通配符,可以不利用外部命令达到 find 命令一般展开文件名 改进变量与数组处理 缓冲区编辑多行命令 多种兼容模式,例如使用 / bin.../sh 运行时可以伪装成 Bourne shell 可以定制呈现形式提示符;包括屏幕右端显示信息,并在键入长命令自动隐藏 可加载模块,提供其他各种支持:完整 TCP 与 Unix 域套接字控制...,FTP 客户端与扩充过数学函数 完全可定制化 1.3 zsh 与 oh-my-zsh 终极配置 之前是因为看到这篇文章:终极 Shell——Zsh 选择使用 zsh,被它自动完成、补全功能吸引了... Github 上找关于 zsh 项目发现,试用了一下觉得很方便,不用像上面文章里面提到那么复杂,配置一些插件名称即可使用相应功能。...: sudo apt-get install zsh 2.2 配置 zsh zsh 配置是一门大学问,这里不赘述,直接给出一个配置文件,大家可以下载后放入 zsh 配置文档直接使用

3.3K20

Wget 大法wget 指定路径,指定文件名下载

图片 今天用到了Wget,突然一间想不起来wget下载到指定目录是哪个参数了,特地把所有参数都弄来,以防又忘记了。毕竟脚本是写了之后,半年都不用改,坑!...-p 获得所有显示网页所需元素 额外 -c 断点续传 -nd 递归下载不创建一层一层目录,把所有的文件下载到当前目录 -L 递归不进入其它主机,如wget -c -r www.tencent.org.../ -A 指定要下载文件样式列表,多个样式用逗号分隔 -i 后面跟一个文件文件内指明要下载URL * 使用代理下载 wget -Y on -p -k https://sourceforge.net...可选客户端证书KEYFILE –egd-file=FILE 指定EGD socket文件名 * 下载 –bind-address=ADDRESS 指定本地使用地址(主机名或IP,本地有多个IP...标签列表 -H, –span-hosts 递归转到外部主机 -L, –relative 仅仅跟踪相对链接 -I, –include-directories=LIST 允许目录列表 -X,

8.8K10
领券