组合使用通配符
本课属于 Coddy Terminal 学习旅程的“基础知识”单元。第 28 课,共 82 课。
通配符真正的强大之处在于你可以将它们组合起来。你可以在一个模式中混合使用 *、? 和 [],从而精确匹配文件。
给定此文件系统:
photo_1.jpg
photo_2.jpg
photo_10.jpg
photo_1.png
photo_2.png
report_1.txt
report_2.txt
notes.txt组合使用 * 和 []:
列出所有图片文件(包括 .jpg 和 .png):
ls *.{jpg,png} # 使用花括号展开
ls *.[jp]* # 匹配 .jpg、.png、.jpeg 等文件组合使用 ? 和 []:
只列出个位数编号的照片文件:
ls photo_[0-9].jpg # 只匹配 photo_1.jpg 和 photo_2.jpg将这三种方式结合起来:
匹配文件名中带有一位数字的任意报告文件:
ls *_[0-9].txt # 匹配 report_1.txt 和 report_2.txt匹配以任意字母开头,后面跟着特定字符的文件:
ls [pr]*_?.txt # 以 p 或 r 开头,后面是任意内容,再接下划线、一个字符和 .txt将通配符与其他命令搭配使用:
将所有个位数的 jpg 照片移动到一个文件夹中:
mv photo_[0-9].jpg archive/删除任意子文件夹中的所有 .log 文件:
rm */*.log挑战
简单组合使用通配符,只列出编号为一位数字的 .jpg 照片文件,例如 photo_1.jpg 和 photo_2.jpg,但不包括 photo_10.jpg 或任何 .png 文件。
提示:将固定文本
photo_、表示一位数字的方括号范围和.jpg扩展名组合成一个模式。
亲手试试
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Terminal 在线编辑器