find 的-regex怎么用,用它怎么一直没有反映
来源:互联网 发布:sql注入攻击实验 编辑:程序博客网 时间:2024/05/05 01:02
1. 与
-name, -iname最大的区别就在于 -regex是把find输出的整个结果(有别于绝对路径名)作为要匹配的对象, 而不仅仅是结果的最后一部分, 举例
/tmp
目录下有且仅有 aaa, aa, 1, 2 这些文件
find -name "a*"可以找到
aaa和aa
而
find /tmp -regex "a*"就不行, 它一个都找不到, 因为找到的每个结果是这样的
/tmp/aaa
/tmp/aa
-name 是对结果中的"aaa"和"aa"这个部分进行匹配, 而-regex却是对完整的
"/tmp/aaa"和"/tmp/aa"进行匹配.
所以你要写作
find /tmp -regex ".*a.*"
2. 注意上面的是.*而不是*
-name所能解释的是基于shell中file glob的匹配字符, 包括:
(1)*表示任意长度字符串
(2)?表示任意的单个字符
(3)[set] 表示一个可选字符集合
(4)[^set]或[!set]表示以ASCII为全集对[set] 求补集的一个集合
(5)brace expansion, 即把/tmp/{a,b,c}扩展为三个字串
/tmp/a /tmp/b 和/tmp/c
注意 shell的file globing机制往往不被认为是正则表达式.
-regex接受的是"正统"的正则表达式
这个说起来东西多了, 基本上它跟emacs文档里讲的regex是一样的, 因为find手册里regex的解释部分实际就是链接到emacs 中讲解regex的那个部分. 在上面例子中最大区别就是
.* 来表示任意长度字符串.
原文见:http://bbs.chinaunix.net/thread-612012-1-1.html
- find 的-regex怎么用,用它怎么一直没有反映
- 怎么自己就没有一直研究别人博客的习惯?
- 常见的tools ,一般你没怎么用它的
- Composer是干嘛的,怎么用它。(1) 安装
- Composer是干嘛的,怎么用它。(2) 使用
- 为什么要有Hashmap,它有什么存在的意义么,怎么用它啊
- find ,grep的查询是怎么用的
- dm8168dsp的库和arm的库怎么调用(没有解决,库一直找不到)
- 请问我按了查询,页面怎么一点反映都没有呀!!??
- 没有头文件怎么用别人的dll
- 没有头文件怎么用别人的dll
- IronRuby - 怎么就没有好用的IDE呢
- myeclipse的project怎么让它默认没有javascript的build
- VC里函数的提示没有了,怎么让它重新显示?
- 树莓派无线上网时,怎么查它的ip(没有屏幕)?
- 使用tcmalloc,它的central freelist很多,一直没有释放
- C++中虚函数的作用是什么?它应该怎么用呢?
- C++中虚函数的作用是什么?它应该怎么用呢?
- 作品:《奇迹mu之远航》
- Hadoop中的各种排序
- shell基础二
- The Prisoner of Zenda——9、News of the Prisoner
- 3-2
- find 的-regex怎么用,用它怎么一直没有反映
- hdu 1075 What Are You Talking About
- shell编程三
- Android 换肤(三) -通过Style来完成
- 使用系统内置的ContentProvider获取非SIM卡的手机联系人
- 排序算法的稳定性
- shell基础四
- socket在windows下编程
- C++中L和_T()之区别