记一次面试问题,如何查询文件夹下所有文件中包含某个字符并且做替换
上网查了下一般做法是使用sed命令,确实语法简单,但是当时回答使用awk
好吧硬着头皮写下来
1
find . -type f | xargs -i awk -v info="{}" '{if ($0~"bb");gsub("bb","tihuan",$0); {print info,$0}}' {}
sed版本
1
sed -i "s/bb/tihuan/g" `grep -rl "" ./`
“bb”为查找关键字,”tihuan”为替换字符
摘抄网上的一段脚本改造,利用awk的sub指令
1 | for file in $(find . -type f);do awk '{sub(/tihuan/,"YYY");print}' $file ;done |
能否参与评论,且看个人手段。