通配符 - 命令行的倚天剑、屠龙刀
命令行能干很多GUI图形界面不能做的事情,不知道你的Linux倚天剑、屠龙刀有没有出鞘呢。
很多熟悉Linux命令行的人,对命令行的威力应该叹为观止了。
这其中,我认为通配符,或者广一点来说,正则表达式,真的可以成为天下武林至尊,宝刀屠龙了。
说个最简单的例子
我想拷贝某个文件夹里面的在三个小时内曾经修改过的包含hero的文件。
请大家踊跃发言,如何解决。
下面就说下几个比较常用的通配符。
通配符 | 匹配项 |
---|---|
* | 匹配任意多个字符 |
? | 匹配任一单个字符 |
[characters] | 匹配任意一个属于字符集合中的字符 |
![characters] | 匹配任意一个不属于字符集合中的额字符 |
现在我们执行ls
命令,可以看到有下面几个文件:
1 | ➜ ls |
实例一 *
匹配任意多个字符
1 | ➜ ls a* |
实例二 ?
匹配任一单个字符
1 | ➜ ls a? |
实例三 [characters]
匹配任意一个属于字符集合中的字符
1 | ➜ ls a[bcd] |
实例四 ![characters]
匹配任意一个不属于字符集合中的额字符
1 | ➜ ls a[!(bcd)] |
通配符 - 命令行的倚天剑、屠龙刀
继续昨天的倚天剑的通配符操作。
为什么分两次:
- 俺觉得昨天的知道的肯定知道,无外乎复习下
- 不知道的其实也够一天几分钟的量了
为什么说通配符:
- 后面的很多操作都会用到通配符
- 通配符不掌握不要说你会用Linux
- 考虑花几十个tips来说下正则表达式
昨天的都比较简单,今天来点有难度的。
其实我觉得屠龙刀比倚天剑厉害,因为我喜欢灭绝师太,^_^。
首先看下目前文件夹里面都有什么,下面所有的操作都基于这个文件列表:
1 | ➜ ls |
实例 [:alnum:] - 匹配任意一个字母或数字
1 | ➜ ls [[:alnum:]]* |
实例 [:alpha:] - 匹配任意一个字母
1 | ➜ ls [[:alpha:]]* |
实例 [:digit:] - 匹配任意一个数字
1 | ➜ ls [[:digit:]]* |
实例 [:lower:] - 匹配任意一个小写字母
1 | ➜ ls [[:lower:]]* |
实例 [:upper:] - 匹配任意一个大写字母
1 | ➜ ls [[:upper:]]* |