活用 命令行通配符

本文是对 阮一峰老师命令行通配符教程[1]的学习与记录


通配符早于正则表达式出现,可以看作是原始的正则表达式. 其功能没有正则那么强大灵活,而胜在简单和方便.


- 字符


切回上一个路径/分支

如图:

活用 命令行通配符_第1张图片
活用 命令行通配符_第2张图片


!!


代表上一个命令, 如图:

活用 命令行通配符_第3张图片 alt

[Linux中“!"的神奇用法](https://www.cnblogs.com/bianchengzhuji/p/10170315.html "Linux中“!"的神奇用法")

在zsh下, !3,表示history中的第3个命令

活用 命令行通配符_第4张图片


?


?字符代表单个字符;

如果想匹配两个字符,就需要??

活用 命令行通配符_第5张图片


*


*代表任意数量的字符(包括空字符)

活用 命令行通配符_第6张图片

想要列出某个文件夹下所有子目录里的.png文件,可使用

ls */*.png

活用 命令行通配符_第7张图片 活用 命令行通配符_第8张图片


[...]


[...]匹配方括号之中的任意一个字符, 如[aeiou]可以匹配五个元音字母

活用 命令行通配符_第9张图片 活用 命令行通配符_第10张图片

[start-end]表示一个连续的范围

活用 命令行通配符_第11张图片


[^...] 和 [!...]


[^...]和[!...]表示匹配不在方括号里面的字符(不包括空字符), 这两种写法等价 (对zsh不适用)

alt


{...}


{...} 表示匹配大括号里面的所有模式,模式之间使用逗号分隔

活用 命令行通配符_第12张图片


{start..end}


{start..end}会匹配连续范围的字符

活用 命令行通配符_第13张图片

可以组合出复杂的匹配模式

活用 命令行通配符_第14张图片


参考资料

[1]

命令行通配符教程: http://www.ruanyifeng.com/blog/2018/09/bash-wildcards.html

本文由 mdnice 多平台发布

你可能感兴趣的:(后端)