使用 -regex 时有一点要注意: -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 这个参数,如位置指定等等。 (Mac与 Linux 有所不同,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 通过Find命令搜索文件 find命令非常高效,并且使用简单。find命令来自unix,OS X和Linux系统同样支持该命令。find最基本的操作就是: find 文件路径 参数 比如你可以通过以下命令在用户文件夹中搜索名字中包含screen的文件 find ~ -iname "screen*" 你也可以在特定的文件夹中寻找特定的...
完整路径的意思就是不只是文件名这样,它还有前面的东西,所以也需要将前面部分考虑到正则表达式中才行,不然匹配不到文件,如下:
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 这个参数,如位置指定等等。 (Mac与 Linux 有所不同,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 通过Find命令搜索文件 find命令非常高效,并且使用简单。find命令来自unix,OS X和Linux系统同样支持该命令。find最基本的操作就是: find 文件路径 参数 比如你可以通过以下命令在用户文件夹中搜索名字中包含screen的文件 find ~ -iname "screen*" 你也可以在特定的文件夹中寻找特定的...
-E
直接使用 -regex 是使用的基础的正则语法,想用高级的就需要添加 -E 这个参数,如位置指定等等。 (Mac与 Linux 有所不同,Linux 中是 -regextype posix-extended) 如:
Mac
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 通过Find命令搜索文件 find命令非常高效,并且使用简单。find命令来自unix,OS X和Linux系统同样支持该命令。find最基本的操作就是: find 文件路径 参数 比如你可以通过以下命令在用户文件夹中搜索名字中包含screen的文件 find ~ -iname "screen*" 你也可以在特定的文件夹中寻找特定的...
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 通过Find命令搜索文件 find命令非常高效,并且使用简单。find命令来自unix,OS X和Linux系统同样支持该命令。find最基本的操作就是: find 文件路径 参数 比如你可以通过以下命令在用户文件夹中搜索名字中包含screen的文件 find ~ -iname "screen*" 你也可以在特定的文件夹中寻找特定的...
find . -size +1000M # 查找大于 1000Mb 的文件 # 大小单位有 b(512字节) c w(2字节) k M G 区分大小写 f 普通文件l 符号连接d 目录c 字符设备b 块设备s 套接字p Fifo
f
l
d
c
b
s
p
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 通过Find命令搜索文件 find命令非常高效,并且使用简单。find命令来自unix,OS X和Linux系统同样支持该命令。find最基本的操作就是: find 文件路径 参数 比如你可以通过以下命令在用户文件夹中搜索名字中包含screen的文件 find ~ -iname "screen*" 你也可以在特定的文件夹中寻找特定的...
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 通过Find命令搜索文件 find命令非常高效,并且使用简单。find命令来自unix,OS X和Linux系统同样支持该命令。find最基本的操作就是: find 文件路径 参数 比如你可以通过以下命令在用户文件夹中搜索名字中包含screen的文件 find ~ -iname "screen*" 你也可以在特定的文件夹中寻找特定的...
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 通过Find命令搜索文件 find命令非常高效,并且使用简单。find命令来自unix,OS X和Linux系统同样支持该命令。find最基本的操作就是: find 文件路径 参数 比如你可以通过以下命令在用户文件夹中搜索名字中包含screen的文件 find ~ -iname "screen*" 你也可以在特定的文件夹中寻找特定的...
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 通过Find命令搜索文件 find命令非常高效,并且使用简单。find命令来自unix,OS X和Linux系统同样支持该命令。find最基本的操作就是: find 文件路径 参数 比如你可以通过以下命令在用户文件夹中搜索名字中包含screen的文件 find ~ -iname "screen*" 你也可以在特定的文件夹中寻找特定的...
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 通过Find命令搜索文件 find命令非常高效,并且使用简单。find命令来自unix,OS X和Linux系统同样支持该命令。find最基本的操作就是: find 文件路径 参数 比如你可以通过以下命令在用户文件夹中搜索名字中包含screen的文件 find ~ -iname "screen*" 你也可以在特定的文件夹中寻找特定的...
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 通过Find命令搜索文件 find命令非常高效,并且使用简单。find命令来自unix,OS X和Linux系统同样支持该命令。find最基本的操作就是: find 文件路径 参数 比如你可以通过以下命令在用户文件夹中搜索名字中包含screen的文件 find ~ -iname "screen*" 你也可以在特定的文件夹中寻找特定的...
{} 用于与 -exec 选项结合使用来匹配所有文件,然后会被替换为相应的文件名。 -ok 和 -exec 行为一样,不过它会给出提示,是否执行相应的操作。
{}
-exec
-ok
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 通过Find命令搜索文件 find命令非常高效,并且使用简单。find命令来自unix,OS X和Linux系统同样支持该命令。find最基本的操作就是: find 文件路径 参数 比如你可以通过以下命令在用户文件夹中搜索名字中包含screen的文件 find ~ -iname "screen*" 你也可以在特定的文件夹中寻找特定的...
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 通过Find命令搜索文件 find命令非常高效,并且使用简单。find命令来自unix,OS X和Linux系统同样支持该命令。find最基本的操作就是: find 文件路径 参数 比如你可以通过以下命令在用户文件夹中搜索名字中包含screen的文件 find ~ -iname "screen*" 你也可以在特定的文件夹中寻找特定的...
find . -name *.rmvb > FilmList.txt 通过Find命令搜索文件 find命令非常高效,并且使用简单。find命令来自unix,OS X和Linux系统同样支持该命令。find最基本的操作就是: find 文件路径 参数 比如你可以通过以下命令在用户文件夹中搜索名字中包含screen的文件 find ~ -iname "screen*" 你也可以在特定的文件夹中寻找特定的...