Linux文件和文件夹的查找、替换、删除

持续更新Linux常用查找替换命令使用实例,包括各种find, sed, grep等

#搜索.log文件
find / -name ‘*.log’ 

#在log文件中查找关键词Abc
grep Abc /log 

#查找替换log文件的Abc为123
sed ‘s/Abc/123/g’ log 

#递归查找和替换
find . -type f -print0 | xargs -0 sed -i ‘s/原字符串/新字符串/g’ 
find . -name ‘*.html’ | xargs perl -pi -e ‘s/原字符串/新字符串/g’ #目录权限 chattr -i . / chattr -a .
sed -i ‘s/原字符串/新字符串/g’ `grep ‘原字符串’ -rl /查找目录/ –include “*.文件类型”`

#批量复制文件到所有子目录
find ./ -maxdepth 1 -type d -exec cp -r path/file {} \; 

#批量删除d123文件夹
find . -type d -name d111 -exec rm -fr {} \;

#批量删除d111和d222文件夹
find . \( -name d111 -o -name d222 \) -type d -exec rm -fr "{}" \;

#find并统计数量
find . -type f -print | wc -l 

#查找并批量删除空文件夹
find . -type d -empty -delete

#查找并批量删除所有.log文件
find . -name ‘*.log’ -type f -delete

#过滤111开头的结果
grep -v 111