欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux find 命令

程序员文章站 2024-02-23 18:36:04
...

简介

使用 find  配合 -name  或者  -regex 完成匹配    name是不能使用正则 ,复杂的用regex完成正则
-name 和 -regex "" 满足表达式的筛选
! -name 和 ! -regex "" 不满足表达式的筛选   
上述两种可以多个联合使用


文件名匹配:

1、在/opt/zimbra/下查找文件名以java为后缀的文件并打印出来
 

find  /opt/zimbra/ -name "*.java" -print

2、在/opt/zimbra/下查找文件名以java为后缀的文件且包含hello的文件并打印出来

 find  /opt/zimbra/ -name "*.java" -name "*hello*" -print

3、在/opt/zimbra/下查找文件名以java为后缀的文件但不包含hello的文件并打印出来

 find  /opt/zimbra/ -name "*.java" ! -name "*hello*" -print

4、在/opt/zimbra/下查找文件名以java为后缀的文件但不包含hello也不包含hi的文件并打印出来
 

find  /opt/zimbra/ -name "*.java" ! -name "*hello*" ! -name "*hi*" -print


文件内容匹配

find配合 xargs 和grep :将find查到的文件名称作为参数转入grep的命令中。

1、查看在/opt/zimbra/下查找文件名以java为后缀的文件中内容包含 "www.baidu.com"的内容

find  /opt/zimbra/ -name "*.java" -print | xargs grep "https://www.zimbra.com"

使用 find  /opt/zimbra/ -name "*.java" -print | xargs grep "expression"
后面的 grep "expression" 可以使用匹配和不匹配等任意的表达式

相关标签: find linux