假设您当前目录的ls结果如下:
libby1.jpg libby2.jpg libby3.jpg libby4.jpg libby5.jpg libby6.jpg libby7.jpg libby8.jpg libby9.jpg libby10.jpg libby11.jpg libby12.jpg libby1.txt
你想在命令行中使用rm命令来删除这些文件,一次删除一个文件的做法很烦琐。毕竟,使用计算机的一个原因就是它能够自动处理和简化乏味的任务。通配符可以完成这一任务,它可以通过字符匹配一次指定多个文件。
有3种通配符:*(星号)、?(问号)、和[ ](方括号)。接下来我们依次看看它们的用法。
“*”匹配0或多个任意字符。表1-2列举了“*”的一些用法以及能够匹配的内容。
表1-2 “*”通配符及其匹配的内容
命 令 | 匹 配 |
---|---|
rm libby1*.jpg | libby10.jpg到libby12.jpg,但不匹配libby1.txt |
rm libby*.jpg | libby1.jpg到libby12.jpg,但不匹配libby1.txt |
rm *txt | libby1.txt,但不匹配libby1.jpg到libby12.jpg |
rm libby* | libby1.jpg到libby12.jpg,以及libby1.txt |
rm * | 目录中的所有文件 |
“?”匹配单个字符。表1-3列举了“?”的一些用法,以及能够匹配的内容。
表1-3 “?”通配符及其匹配的内容
命 令 | 匹 配 |
---|---|
rm libby1?.jpg | libby10.jpg到libby12.jpg,但不匹配libby1.txt |
rm libby?.jpg | libby1.jpg到libby9.jpg,但不匹配libby10.jpg |
rm libby?.* | libby1.jpg到libby9.jpg,以及libby1.txt |
“[ ]”可以匹配一组单个字符(例如,[12]),或者是匹配用连字符(“-”)指定的某一范围内的字符(例如,[1-3])。表1-4列举了“[ ]”的一些用法,以及能够匹配的内容。
表1-4 “[ ]”通配符及其匹配的内容
命 令 | 匹 配 |
---|---|
rm libby1[12].jpg | libby11.jpg到libby12.jpg,但不匹配libby10.jpg |
rm libby1[0-2].jpg | libby10.jpg到libby12.jpg,但不匹配libby1.jpg |
rm libby[6-8].jpg | libby6.jpg到libby8.jpg,但不匹配其他文件 |
暂无评论
写评论