ls 命令通配符(3)

使用过正则的人应该很熟悉通配符。如果非要解释的话,我找来一段:

通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。 当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。

 

上次说到 ls 命令可以列出当前目录所有的文件,那我们可不可以不要将所有的文件都显示出来,而只是显示一部分符合我们期望的文件呢?显然是可以的,就像在正则里使用通配符一样,Linux命令里也可以用,用来匹配对应的文件。

 

ls通配符的使用

通配符 含义
* 代表任意个数个字符
代表任意一个字符,至少1个
[ ] 表示可以匹配字符组中的任意一个
[abc] 匹配a、b、c中的任意一个
[a-f] 匹配从a到f范围内的任意一个字符

 

*

假设当前目录下有以下几个文件:

111.txt  121.txt  131.txt  1234.txt  212.txt

现在我想看到所有1开头的文件,就可以:

ls 1*

想看1结尾的就是:

ls *1.txt

注意.txt这个后缀要加上。

 

?

* 是多个字符,而 ? 只能是一个。 还是上面那几个文件,分别输入以下命令:

ls 12?.txt

//121.txt
ls 12*.txt

//123.txt  //1234.txt

 

[ ]

最需要注意的是,一个 [ ] 代表的只是一个字符,只要在 [ ] 里的都是符合的。

ls [12][12]1.txt

这个命令表示文件名第一位可以是1也可以是2,同理第二位也是可1可2,第三位必须是1。

 

这篇也没啥可说的了,都是大家熟悉的东西~

 

posted @ 2018-04-20 14:32  黑色瓶子  阅读(5378)  评论(0编辑  收藏  举报