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" 可以使用匹配和不匹配等任意的表达式
上一篇: xlwings 使用教程