Mac terminal find 指令常用详解

Find 详解 macOS


逻辑运算符

  • -o 或者
  • !非

如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件

文件名

find . -name "*.rmvb"

正则表达式

使用 -regex 时有一点要注意:-regex 不是匹配文件名,而是匹配完整的文件名(包括路径)。

find . -regex ".*.rmvb"
# 查找所有 RMVB文件

完整路径的意思就是不只是文件名这样,它还有前面的东西,所以也需要将前面部分考虑到正则表达式中才行,不然匹配不到文件,如下:

Kyle@Kyles-mbp Downloads % find . -type f -regex "漫长.*.mp4"
Kyle@Kyles-mbp Downloads % find . -type f -regex ".*漫长.*.mp4" 
./漫长的季节第01集.mp4/漫长的季节第01集.mp4
./漫长的季节第06集.mp4/漫长的季节第06集.mp4
./漫长的季节第10集.mp4/漫长的季节第10集.mp4
./漫长的季节第11集.mp4/漫长的季节第11集.mp4
./漫长的季节第07集.mp4/漫长的季节第07集.mp4
./漫长的季节第12集.mp4/漫长的季节第12集.mp4
./漫长的季节第04集.mp4/漫长的季节第04集.mp4
./漫长的季节第08集.mp4/漫长的季节第08集.mp4
./漫长的季节第09集.mp4/漫长的季节第09集.mp4
./漫长的季节第05集.mp4/漫长的季节第05集.mp4
./漫长的季节第02集.mp4/漫长的季节第02集.mp4
./漫长的季节第03集.mp4/漫长的季节第03集.mp4

扩展 Regex -E

直接使用 -regex 是使用的基础的正则语法,想用高级的就需要添加 -E 这个参数,如位置指定等等。
(MacLinux 有所不同,Linux 中是 -regextype posix-extended)
如:

find -E . -iregex ".*(金刚狼|x战警).*"

文件大小

find . -size +1000M
# 查找大于 1000Mb 的文件
# 大小单位有 b(512字节) c w(2字节) k M G 区分大小写

文件类型

  • f 普通文件
  • l 符号连接
  • d 目录
  • c 字符设备
  • b 块设备
  • s 套接字
  • p Fifo
find . -type f -name "*.rmvb"
# 搜索普通文件 .rmvb

文件时间戳

  • 访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
  • 修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
  • 变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间
find . -type f -atime -7
# 搜索最近七天内被访问过的所有文件

find . -type f -atime 7
# 搜索恰好在七天前被访问过的所有文件

find . -type f -atime +7
# 搜索超过七天内被访问过的所有文件

否定参数 !

find /home ! -name "*.txt"
# 找出/home下不是以.txt结尾的文件

将搜索结果作为参数执行

{} 用于与 -exec 选项结合使用来匹配所有文件,然后会被替换为相应的文件名。
-ok-exec 行为一样,不过它会给出提示,是否执行相应的操作。

find . -type f -name "*.txt" -exec cat {} ;> all.txt
# 查找当前目录下所有.txt文件并把他们拼接起来写入到all.txt文件中

find .-type f -user root -exec chown tom {} \;
# 找出当前目录下所有root的文件,并把所有权更改为用户tom 此处 ; 需要转义

查找结果写入文件

find . -name *.rmvb > FilmList.txt
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十月ooOO

许个愿,我帮你实现

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值