曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4253|回复: 0
打印 上一主题 下一主题

文件元字符

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34395
跳转到指定楼层
楼主
发表于 2010-2-6 12:37:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作文件时,配合元字符会更为快捷。这些元字符是:

*      匹配文件名中的任何字符串,包括空字符串
?      匹配文件名中的任何单个字符
[...]  匹配[]中所包括的任何字符
[!...] 匹配[]中非感叹号 ! 之后的字符

------------------------------------------------

1、使用 * 字符:
ls *.sql   /*列出所有以.sql后缀名结尾的文件*/

* 号的功能用在切换路目录径时也很方便。比如一个目录下有许多文件夹及起文件,首先我们想列出所有的文件夹:
ls -l | grep ^d
上面的命令,^ 符号是匹配一行中的头一个字符:
 # ls -l |grep ^d
... ...
drwxr-xr-x  2 root   root         48 May  3  2007 cron.hourly
drwxr-xr-x  2 root   root         88 Dec 10 10:04 cron.monthly
drwxr-xr-x  2 root   root         48 May  3  2007 cron.weekly
drwxrwxr-x  2 lp     lp          112 Dec 10 10:00 cups
drwxr-xr-x  3 root   root        136 Dec 10 09:57 dbus-1
drwxr-x---  2 root   root        192 Dec 10 09:56 default
... ...
这里有好几个 cron.xxx 的目录,像现在要进去 cron.weekly 目录里,这时只需要:
cd cron.w*
说明:用 TAB 键也会很快。

2、使用 ? 符号
# ls ??pp
zypp.conf

还有
# ls f??*s
fb.modes  filesystems  ftpusers
上面,f??*s 匹配所有以 f 开头,中间是任意两个字符、后面跟随任意字符串,并以 s 结尾的文件名。

3、使用 [...] 和 [!...] 符号

3.1 使用 [...] 可以用来匹配方括号[]中的任何字符,如:
# ls
root.conf  silitek.conf  syn.conf  twiddler.conf
SUR-RAU:/etc/gpm # ls [rs]*
root.conf  silitek.conf  syn.conf
上面,列出了所有以 r 或 s 开头的且后面接任意字符串的文件。

这里,还可以使用一个横杠 - 来连接两个字母或数字,以表示一个范围,如 [a-k] 表示匹配 a 到 k 中任一单个字母,同样 [0-9] 表示匹配 0 到 9 中的任一单个数字。
而 [!...] 则是非的意思,如 [!a-9]表示不匹配单个数字。

注意:在 [...] 和 [!...] 里,匹配或者非匹配的只是一个,而非多个!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-5-6 19:16 , Processed in 0.063636 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表