Guo Qiang

查找匹配文件中包含指定字符串

发布日期 2024-03-28 10:18:08已读 642 次CODE
image

find 命令不仅可以查找文件,还可以查找文件内容,这需要与 xargs 一起使用,这个也是一种非常常用的方法:


find . -name "*.php" | xargs grep -n mysql
find . \( -name "*.php" -or -name "*.html" \) | xargs grep -n mysql


下面这个命令可以查询到当前目录下(包含子目录)哪些文件包含 update 字样:


grep -rl 'update' ./


再配合 sed 命令可以实现批量文件内容的修改:


grep -rl 'update' | xargs sed -i 's/update/UPDATE/g'


示例:


#列出所有 .png 或 .jpg 文件,并将文件修改为 644 模式
find /your/directory/path -type f \( -name "*.png" -o -name "*.jpg" \)  -exec chmod 644 {} \;

#列出所有 .png 文件的读取权限
find /your/directory/path -type f -name "*.png" -exec ls -l {} \; | awk '{print $1, $9}'

#假设有一个文件列表,想要逐一删除列表中的这些文件
cat file_list.txt | xargs -I {} rm {}


Copyright © 2019~2024 Guo Qiang
Pages viewed 31,263,947