批量修改文件内容
方法一
find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'
# perl -pi -e 在Perl 命令中加上-e 选项,后跟一行代码,那它就会像运行一个普通的Perl 脚本那样运行该代码.
方法二
sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`
sed -i "s/oldString/newString/g" `grep oldString -rl /path`
# sed命令可以批量替换多个文件中的字符串
# 补充说明:
# sed -i "s/oldString/newString/g" `grep oldString -rl /path` 对多个文件的处理可能不支持,需要用 xargs, 搞定。
# 变种如下:
grep oldString -rl /path | xargs sed -i "s/oldString/newString/g"
方法三
grep "abc" * -R | awk -F: '{print $1}' | sort | uniq | xargs sed -i 's/abc/abcde/g'
批量删除文件目录
find . -name "xxx.xx" -type f -exec rm {} \;
# 参数解释
# {}代表的是由find找到的内容,会被放置到{}中
# exec一直到 \; 为止,代表find额外动作的开始 -exec 到 \; 结束,在这中间的就是find指令的额外动作(rm ... )
# 因为 ; 在bash环境下是有特殊意义,用反斜杠 \ 转义
参考:
https://blog.csdn.net/ubuntulover/article/details/7626436
https://www.cnblogs.com/my_captain/p/10083454.html