Shell编程学习---第四篇:文件名置换

四 文件名置换
当你在使用命令行时,有很多时间都用来查找你所需要的文件。 S h e l l提供了一套完整的
字符串模式匹配规则,或者称之为元字符,这样你就可以按照所要求的模式来匹配文件。还
可以使用字符类型来匹配文件名。在命令行方式下,使用元字符更为快捷,所以在本章我们
只介绍这部分内容。
在本章我们将讨论:
• 匹配文件名中的任何字符串。
• 匹配文件名中的单个字符。
• 匹配文件名中的字母或数字字符。
下面就是这些特殊字符:
* 匹配文件名中的任何字符串,包括空字符串。
? 匹配文件名中的任何单个字符。
[...] 匹配[ ] 中所包含的任何字符。
[!...] 匹配[ ] 中非感叹号!之后的字符。
当shell遇到上述字符时,就会把它们当作特殊字符,而不是文件名中的普通字符,这样
用户就可以用它们来匹配相应的文件名。

4.1 使用 *
使用星号*可以匹配文件名中的任何字符串。
例如,我们给出文件名模式app*,它的意思是文件名以app开头,
后面可以跟随任何字符串, 当然也也已用来匹配结尾的字符串*.doc类似的文件

4.2 使用 ?
使用可以匹配文件名中的任何单个字符。

4.3 使用[...]和[!...]
使用[...]可以用来匹配方括号[]中的任何字符。在这一方法中,还可以使用一个横杠 -来连
接两个字母或数字,以此来表示一个范围。在下面的例子中,列出了以 i或o开头的文件名:
$ls [io]*
为了匹配所有以log开头、后面跟随一个数字、然后可以是任意字符串的文件名,可以用
log[0-9]*,其中[0-9] 表示任意单个数字,星号 *代表了其他字符:
$ls log.[0-9]*
下面的例子和刚才的有所不同,使用[!0-9]*来表示非数字开头的字符串,其中!是非的意
思:
$ ls log[!0-9]*

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值