📅  最后修改于: 2023-12-03 15:35:41.047000             🧑  作者: Mango
wget
是一个常用的命令行工具,用于从网络上下载文件. 使用wget
下载文件可以通过URL来完成,但是如果要同时下载一些相似的文件,这时要一个一个URL下载会很麻烦和费时. 此时,wget
的匹配模式(Charset Globbing)功能就可以派上用场了.
匹配模式是在wget
的URL中指定一种字符串模板,匹配对应文件名称. wget
支持的匹配模式有两种:
在两种匹配模式中,都使用*
代表匹配任意数量的任意字符(包括空字符).
通配符Globbing可以使用类似正则表达式的语法规则来匹配文件名称.这些语法规则包括:*
,?
,[]
,[!]
.
*
:匹配任意数量的任意字符
语法:*
例子:匹配所有以.txt
结尾的文件
wget http://example.com/files/*.txt
?
:匹配单个字符
语法:?
例子:匹配所有以abc
开头、以.txt
结尾的文件(中间任意一个字符均可)
wget http://example.com/files/abc?.txt
[]
:匹配指定字符集中的任意一个字符
语法:[charset]
例子:匹配所有以a
,b
或c
开头、以.txt
结尾的文件
wget http://example.com/files/[abc]*.txt
[!]
:不匹配指定字符集中的任何一个字符
语法:[!charset]
或[^charset]
例子:匹配所有不以a
,b
或c
开头、以.txt
结尾的文件
wget http://example.com/files/[^abc]*.txt
花括号匹配模式用来匹配一定数量的字符串组合.例如,匹配一个文件名组合为a1.txt
,a2.txt
,...,a9.txt
的文件可以使用花括号匹配模式.
语法:{str1,str2,...}
例子:匹配所有以abc
开头、后跟一个数字(1~9)、以.txt
结尾的文件
wget http://example.com/files/abc{1..9}.txt
以上就是wget
文件匹配模式(Charset Globbing)的基础使用方法.匹配模式是非常强大的字符串匹配工具,能够快速下载大量相似的文件,也能够帮助程序员轻松完成一些字符串匹配任务.
# 匹配模式(Globbing)
# * 匹配任意数量的任意字符
wget http://example.com/files/*.txt
# ? 匹配单个字符
wget http://example.com/files/abc?.txt
# [] 匹配指定字符集中的任意一个字符
wget http://example.com/files/[abc]*.txt
# [!] 不匹配指定字符集中的任何一个字符
wget http://example.com/files/[^abc]*.txt
# 花括号匹配模式
wget http://example.com/files/abc{1..9}.txt