热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

关于find命令正则表达式

关于find命令正则表达式--Linux通用技术-Linux编程与内核信息,下面是详情阅读。
[i=s] 本帖最后由 blackgenius 于 2010-4-7 10:31 编辑

在shell命令中常常用到find查找文件,有时候突然有好多个不同类型的文件需要一起查询,这时候会用到通配符和正则表达式,但是常常遇到以外或者得到意向不到的结果,向各位请教一下几个情况,为什么会出现?
find . -name *c #或者
find . -name *.c #或者
find . -name *.txt #这个就报错了~shell把find命令的语法规则列了一遍 ??rz

find . -name "*.txt" #这个就对了,可以列出该有的

find . -name "*.[c,txt]" #或者
find . -name "*.[txt,c]" #都列出.c结尾的文件而不列出.txt结尾的文件

find . -name "*[c,txt]" #或者
find . -name "*[c|txt]" #都列出了所有.c文件和包含有txt,t*t结尾的文件和目录 ??rz

请教高手指点迷津,如果要一条命令里面同时查询.txt .c .sh .sql结尾的命令,如何实现?先谢过!


终于知道了,还是正则表达式用法不熟悉,正解应该是:
find . -regex ".*\.\(txt\|sh\)"
find . -name "*.sh" -o -name "*.txt"

推荐阅读
author-avatar
Miany_201314
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有