find 的-regex 与 -name的区别
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. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统. 3. Linux文件系统中每个文件用 i节点 来标 ...
- java 里面matches什么意思_Java Regex中的matches()和find()之间的区别
如果完整string匹配, matches()将只返回true. find()会尝试find匹配正则expression式的子string中的下一个匹配项. 注意强调"下一个". ...
- HttpHandler与HttpModule区别
ASP.Net处理Http Request时,使用Pipeline(管道)方式,由各个HttpModule对请求进行处理,然后到达 HttpHandler,HttpHandler处理完之后,仍经过Pi ...
- Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
Pig 一种操作hadoop的轻量级脚本语言,最初又雅虎公司推出,不过现在正在走下坡路了.当初雅虎自己慢慢退出pig的维护之后将它开源贡献到开源社区由所有爱好者来维护.不过现在还是有些公司在用,不过我 ...
- java预编译啥意思_java预编译 java jdbc 预编译语句和普通语句的区别
java中什么是预编译precompile?总有一天你恍然大悟,父母是你花心思,花时间最少,却最爱你的人. 什么是预编译?起什么作用的? . 在java中如何实现预编译?祝你幸福!这句话真俗.小编会祝 ...
- C# Regex(3)
Regex是从字符窗中查找匹配字符串的应用类.通过Regex,编程人员能够非常方便的从一段数据中提取自己所需要的数据信息.举一个简单的例子,让大家对Regex有个大概的了解: Regex regex ...
- linux之find -regex 使用正则表达式
find之强大毋庸置疑,此处只是带领大家一窥find门径,更详细的说明见man find和 info find. 整篇文章循序渐进,从最常用的文件名测试项开始步步深入,到第六节基本讲完find处理文 ...
- Python的regex模块——更强大的正则表达式引擎
Python自带了正则表达式引擎(内置的re模块),但是不支持一些高级特性,比如下面这几个: 固化分组 Atomic grouping 占有优先量词 Possessive quantifi ...
- regex 正则表达式_使用正则表达式(Regex)删除HTML标签
regex 正则表达式 Most of the data in the world are unstructured data form because, in human communication ...
最新文章
- 【opencv】(3) 图像滤波:均值、方框、中值、高斯
- 《Kotlin项目实战开发》第1章 Kotlin是什么
- 【命令init3/5】centos7切换图像界面和dos界面
- log4j使用方法(一)——先跑起来再说
- codeforces654题解_[codeforces 1374A] Magical Sticks 棍子拼接
- LeetCode 1805. 字符串中不同整数的数目(哈希set)
- Spring+Hiberate 多数据源的网文整理
- 用 Mathematica 获取图片的 RGB 三基色
- MFC可执行文件问题
- leetcode刷题:2.两数之和
- [Oracle整理]树形查询(start with connect by)
- 20行Python代码爬取王者荣耀全英雄皮肤
- 【游戏开发创新】Unity狗屁不通文章生成器阐述点赞的意义,可生成文字长图保存到本地(Unity | 附源码 | Text转Texture长图 | 详细教程)
- php wps导入数据库,金山的wps的表格怎样导入sqlserver2008数据库中??_wps excel表格怎么导入数据库...
- 卡尔曼滤波(Kalman Filtering)——(7)扩展卡尔曼滤波(EKF)一阶滤波
- 编译原理实验二:词法分析程序
- 分页利用PageHelper.startPage(page, rows)时所放位置的注意事项
- 【Java从零到架构师第③季】【项目实战】驾考管理系统
- Redis如何实现多可用区?
- 2018 年最流行的十大编程语言,Java 无可争议!
热门文章
- 基础练习 高精度加法(蓝桥杯 java)
- mkdir: Permission denied: user=root, access=WRITE
- java游戏暂停弹出字体_小白写了个java的小游戏 想加个暂停的功能 无从下手 求大佬们帮...
- html页面tableview,用JS写的一个TableView控件代码
- 计算机教师专业发展规划,信息技术教师成长规划_信息技术教师专业成长浅谈...
- 最优化学习笔记(二)——二分法
- 2021年95后“他经济”研究报告
- 为了涨薪,我给面试公司看我拿到的offer
- 2021方便速食行业洞察报告
- LeetCode C语言刷题——day1