1. 与-name, -iname最大的区别就在于 -regex是把find输出的整个结果(有别于绝对路径名)作为要匹配的对象, 而不仅仅是结果的最后一部分

举例:

/tmp目录下有且仅有 aaa, aa, 1, 2 这些文件 find -name "a*"  可以找到aaa和aafind /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的那个部分.

在上面例子中最大区别就是.* 来表示任意长度字符串.

举例:

删除/tmp目录中所有数字命名的文件夹

find /tmp -type d -regex ".*/[0-9]*" -exec rm -rf {} \;

本文转自:

https://my.oschina.net/taomac/blog/100248

find用法链接:

http://www.oschina.net/translate/15-practical-unix-linux-find-command-examples-part-2

http://www.oschina.net/translate/15-practical-linux-find-command-examples

转载于:https://blog.51cto.com/qiangsh/1955116

find 的-regex 与 -name的区别相关推荐

  1. 网络收集自我检测题库

    网络练习题 1. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统. 3. Linux文件系统中每个文件用 i节点 来标 ...

  2. java 里面matches什么意思_Java Regex中的matches()和find()之间的区别

    如果完整string匹配, matches()将只返回true. find()会尝试find匹配正则expression式的子string中的下一个匹配项. 注意强调"下一个". ...

  3. HttpHandler与HttpModule区别

    ASP.Net处理Http Request时,使用Pipeline(管道)方式,由各个HttpModule对请求进行处理,然后到达 HttpHandler,HttpHandler处理完之后,仍经过Pi ...

  4. Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别

    Pig 一种操作hadoop的轻量级脚本语言,最初又雅虎公司推出,不过现在正在走下坡路了.当初雅虎自己慢慢退出pig的维护之后将它开源贡献到开源社区由所有爱好者来维护.不过现在还是有些公司在用,不过我 ...

  5. java预编译啥意思_java预编译 java jdbc 预编译语句和普通语句的区别

    java中什么是预编译precompile?总有一天你恍然大悟,父母是你花心思,花时间最少,却最爱你的人. 什么是预编译?起什么作用的? . 在java中如何实现预编译?祝你幸福!这句话真俗.小编会祝 ...

  6. C# Regex(3)

    Regex是从字符窗中查找匹配字符串的应用类.通过Regex,编程人员能够非常方便的从一段数据中提取自己所需要的数据信息.举一个简单的例子,让大家对Regex有个大概的了解: Regex regex ...

  7. linux之find -regex 使用正则表达式

    find之强大毋庸置疑,此处只是带领大家一窥find门径,更详细的说明见man  find和 info find. 整篇文章循序渐进,从最常用的文件名测试项开始步步深入,到第六节基本讲完find处理文 ...

  8. Python的regex模块——更强大的正则表达式引擎

    Python自带了正则表达式引擎(内置的re模块),但是不支持一些高级特性,比如下面这几个: 固化分组    Atomic grouping 占有优先量词    Possessive quantifi ...

  9. regex 正则表达式_使用正则表达式(Regex)删除HTML标签

    regex 正则表达式 Most of the data in the world are unstructured data form because, in human communication ...

最新文章

  1. 【opencv】(3) 图像滤波:均值、方框、中值、高斯
  2. 《Kotlin项目实战开发》第1章 Kotlin是什么
  3. 【命令init3/5】centos7切换图像界面和dos界面
  4. log4j使用方法(一)——先跑起来再说
  5. codeforces654题解_[codeforces 1374A] Magical Sticks 棍子拼接
  6. LeetCode 1805. 字符串中不同整数的数目(哈希set)
  7. Spring+Hiberate 多数据源的网文整理
  8. 用 Mathematica 获取图片的 RGB 三基色
  9. MFC可执行文件问题
  10. leetcode刷题:2.两数之和
  11. [Oracle整理]树形查询(start with connect by)
  12. 20行Python代码爬取王者荣耀全英雄皮肤
  13. 【游戏开发创新】Unity狗屁不通文章生成器阐述点赞的意义,可生成文字长图保存到本地(Unity | 附源码 | Text转Texture长图 | 详细教程)
  14. php wps导入数据库,金山的wps的表格怎样导入sqlserver2008数据库中??_wps excel表格怎么导入数据库...
  15. 卡尔曼滤波(Kalman Filtering)——(7)扩展卡尔曼滤波(EKF)一阶滤波
  16. 编译原理实验二:词法分析程序
  17. 分页利用PageHelper.startPage(page, rows)时所放位置的注意事项
  18. 【Java从零到架构师第③季】【项目实战】驾考管理系统
  19. Redis如何实现多可用区?
  20. 2018 年最流行的十大编程语言,Java 无可争议!

热门文章

  1. 基础练习 高精度加法(蓝桥杯 java)
  2. mkdir: Permission denied: user=root, access=WRITE
  3. java游戏暂停弹出字体_小白写了个java的小游戏 想加个暂停的功能 无从下手 求大佬们帮...
  4. html页面tableview,用JS写的一个TableView控件代码
  5. 计算机教师专业发展规划,信息技术教师成长规划_信息技术教师专业成长浅谈...
  6. 最优化学习笔记(二)——二分法
  7. 2021年95后“他经济”研究报告
  8. 为了涨薪,我给面试公司看我拿到的offer
  9. 2021方便速食行业洞察报告
  10. LeetCode C语言刷题——day1