使用find根据文件内容查找文件名

Posted czxbeyond

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用find根据文件内容查找文件名相关的知识,希望对你有一定的参考价值。

find命令用法:

  • 语法:
1 find (选项) (参数)
  • 常用选项:
1 -exec<执行命令>: 假设find指令的回传值为True,就执行该指令;
2 -ls: 假设find指令的回传值为True,就将文件或目录名称列出到标准输出;
3 -name<范本样式>: 指定字符串作为寻找文件或目录的范本样式;
4 -path<范本样式>: 指定字符串作为寻找目录的范本样式;
5 -size<文件大小>: 查找符合指定的文件大小的文件;
6 -type<文件类型>: 只寻找符合指定的文件类型的文件; 
  • 参数:起始目录--查找文件的起始目录
  • 实例:

列出当前目录及子目录下的所有文件和文件夹

1 find .

在/home目录下查找以.txt结尾的文件名(使用 -iname 选项忽略大小写)

1 find /home -name "*.txt"

在当前目录及子目录下查找所有以.txt和.pdf结尾的文件名

1 find . -name "*.txt" -o -name "*.pdf"

匹配文件路径或者文件

1 find /usr/ -path "*local*"

基于正则表达式匹配文件路径 (-iregex 忽略大小写)

1 find . -regex ".*(.txt|.pdf)$"

否定参数:找出/home下不是以.txt结尾的文件

1 find /home ! -name "*.txt"

根据文件类型查找

1 find . -type 类型参数

类型参数列表:

f 普通文件

l 符号链接

d 目录

c 字符设备

b 块设备

s 套接字

p Fifo

根据文件大小查找

1 find . -size 文件大小单元

文件大小单元列表:

b 块(512字节)

c 字节

w 字(2字节)

k 千字节

M 兆字节

G G字节

查找大于10k的文件

1 find . -size +10k

借助 -exec 选项与其他命令结合使用

找出/home目录下所有的.txt文件并删除 (-ok与-exec命令相同,但会给出提示是否执行相应操作)

1 find /home -name ".txt" -exec rm {} ;

用脚本执行多条指令

1 -exec ./rm_txt.sh {} ;

使用xargs工具

查找包含字符‘abc‘的文件名

1 find . -type f | xargs grep -l abc

 

以上是关于使用find根据文件内容查找文件名的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础教程 linux下使用find命令根据系统时间查找文件用法

linux下的find文件查找命令与grep文件内容查找命令

linux下的find文件查找命令与grep文件内容查找命令

linux下的find文件查找命令与grep文件内容查找命令

linux下的find文件查找命令与grep文件内容查找命令

文件名查找find