leel 发表于 2010-7-31 11:25

shell编程第七讲(原创)

shell编程第七讲(灵魂の低调)
    文件名置换
最常用到的置换就是文件名称的置换或通配。
一.元字符 *
简单的文件名置换就是*号,这里*代表0个或多个任意字符。
如:$ ls * 会列出当前目录下的所有文件。
1.匹配一个前缀
为了匹配一个文件前缀,可以这样使用*:
   cmd aa*
   其中cmd是指一个命令名,aa是匹配的文件夹前缀
   如:我们要列出当前目录下以CGI开头的文件名,可以这样,$ls CGI*
2.匹配一个后缀
   cmd *aa,方法与上述类似,不多解释
3.匹配前缀和后缀
   cmd aa*bb
注意点:通配符是大小写敏感的。
二.元字符 ?
元字符*有个限制就是它匹配0个或多个字符,那么有时我们要是只想匹
配一个字符该怎么办?那就要用到元字符?
例如:$ ls ch??.doc
       结果为:ch01.docch02.docch03.doc
三.匹配字符集合
用*和?有潜在的问题:不能匹配字母或数字,那么我们可以用[]这对元字符
语法如下:
    cmd          chars是字符集合
四.字符的范围
   1.0-9
   2.a-z
   3.A-Z
五.取消一个集合
   操作语法:
   cmd [!chars]
   例如:列出不以字母a开头的文件名: $ls [!a]
页: [1]
查看完整版本: shell编程第七讲(原创)