您的位置:首页 > 运维架构 > Shell

《LINUX与UNIX_Shell编程指南》读书笔记第4章文件名置换

2004-11-18 22:31 363 查看
本章讨论:
• 匹配文件名中的任何字符串。
• 匹配文件名中的单个字符。
• 匹配文件名中的字母或数字字符。
下面就是这些特殊字符:
* 匹配文件名中的任何字符串,包括空字符串。
? 匹配文件名中的任何单个字符。
[...] 匹配[ ]中所包含的任何字符。
[!...] 匹配[ ]中非感叹号!之后的字符。
当s h e l l遇到上述字符时,就会把它们当作特殊字符,而不是文件名中的普通字符,这样
用户就可以用它们来匹配相应的文件名。

对于*和?比较熟悉,跟dos的使用方法差不多
使用星号*可以匹配文件名中的任何字符串
?使用可以匹配文件名中的任何单个字符

4.3 使用[...]和[!...]
使用[ . . . ]可以用来匹配方括号[ ]中的任何字符。在这一方法中,还可以使用一个横杠-来连接两个字母或数字,以此来表示一个范围。在下面的例子中,列出了以i或o开头的文件名:
ls [io]*
使用[ ! 0 - 9 ] *来表示非数字开头的字符串,其中!是非的意思:
ls log.[!0-9]*
为了列出所有以大写字母开头的文件名,可以用:
$ ls [A-Z]*
为了列出所有以小写字母开头的文件名,可以用:
$ ls [a-z]*
为了列出所有以数字开头的文件名,可以用:
$ ls [0-9]*

over
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: