yuenshome / yuenshome.github.io

https://yuenshome.github.io
MIT License
84 stars 15 forks source link

Linux命令sed和grep:查找指定目录全部文件的内容str1,并替换为str2 #97

Open ysh329 opened 4 years ago

ysh329 commented 4 years ago

/home/test目录下,在所有文件中找str1,并将其替换为str2

sed -i "s/str1/str2/g" `grep  str1 -rl /home/test`

注意, 如果替换内容中有  /  ,  要进行转译  \/

元字符集 <  ^  锚定行的开始 如:/^sed/匹配所有以sed开头的行。 $  锚定行的结束 如:/sed$/匹配所有以sed结尾的行。 .  匹配一个非换行符的字符 如:/s.d/匹配s后接一个任意字符,然后是d。 *  匹配零或多个字符 如:,love这成love。 \<  锚定单词的开始,如:/\ >  锚定单词的结束,如/love>/匹配包含以love结尾的单词的行。 x{m}  重复字符x,m次,如:/0{5}/匹配包含5个o的行。 x{m,}  重复字符x,至少m次,如:/o{5,}/匹配至少有5个o的行。 x{m,n}  重复字符x,至少m次,不多于n次,如:/o{5,10}/匹配5--10个o的行。

sed其他应用 见 man sed ———————————————— 版权声明:本文为CSDN博主「zhidao_wenge」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/zhidao_wenge/article/details/61427975