LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 911|回复: 5

问个正则表达式的问题

[复制链接]
发表于 2007-6-19 17:35:59 | 显示全部楼层 |阅读模式
这个问题一直没找到答案,比如我当前目录下有三个文件分别叫做:c, c1, c2。我想用find命令一次查到到这三个文件,find . -name "c[12]",可以查找到c1,c2。但是怎么样写正则表达式才能将c也查找到呢?
请指教,谢谢!
发表于 2007-6-19 17:50:16 | 显示全部楼层
find . -name 'c*'
回复 支持 反对

使用道具 举报

发表于 2007-6-19 17:52:26 | 显示全部楼层
find默认的是glob不是regex。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-19 20:53:16 | 显示全部楼层
不好意思,没说清楚,我是想用find查找当前目录下的c,cxx和cpp文件进行处理,但是我不知道该怎么写,find . -name "*.c[px][px]"这样可以找到cpp和cxx文件,但是怎么能一次就连c文件(*.c)也能处理呢?davi的方法除了c,cxx和cpp之外,凡是c*这样的都处理不能满足我的需求啊。不过仍然很感谢回答。
请指教。
回复 支持 反对

使用道具 举报

发表于 2007-6-19 22:01:21 | 显示全部楼层
find . -name "*.cpp" -o -name "*.c" -o -name "*.cxx"
回复 支持 反对

使用道具 举报

发表于 2007-6-19 22:21:07 | 显示全部楼层
来个正则表达式的解决方法:
find . -regextype awk -regex '.*\.c((pp)|(xx))?'
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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