Chinaunix首页 | 论坛 | 博客
  • 博客访问: 336788
  • 博文数量: 79
  • 博客积分: 2466
  • 博客等级: 大尉
  • 技术积分: 880
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-07 16:47
文章分类

全部博文(79)

文章存档

2014年(3)

2012年(7)

2011年(14)

2010年(2)

2009年(2)

2008年(2)

2007年(18)

2006年(31)

分类: LINUX

2008-05-14 10:40:17

bash支持的“字符集”功能。[abc]表示a, b, c中的任何一个字符。[a-z]表示所有小写英文字母中的任何一个。[!a-z]表示所有小写英文字母以外的任何字符。注意“除...外”是用方括号内第一个叹号表示,sed所用的正则表达式中则用^符号表示“除去”。

$ ls
best.dat  foot.dat  lest.dat  nest.dat  rest.dat  test.dat

$ ls [!a-m]est.dat
nest.dat  rest.dat  test.dat



bash的“花括号扩展”功能。直接看例子吧:
$ echo a{b,c}{d,e}f
abdf abef acdf acef

花括号还可以嵌套:
$ echo a{b{c,d,e},f{g,h}}i
abci abdi abei afgi afhi

这个功能不是华而不实的,比如要找所有的源文件,把下面echo换成ls就达到目的:
$ echo test.{h,cpp,c,hpp,o}
test.h test.cpp test.c test.hpp

不过这样用的时候要小心ls可能输出一些错误信息:
$ ls *.{h,cpp,c,hpp,o,s}
ls: cannot access *.o: No such file or directory
ls: cannot access *.s: No such file or directory
a.c  a.cpp  a.h  a.hpp  b.cpp  b.h
$
阅读(721) | 评论(0) | 转发(0) |
0

上一篇:仙人球开花

下一篇:终于尘埃落定

给主人留下些什么吧!~~