热门

最新

红包

立Flag

投票

同城

我的

发布
weixin_38361347
TizzyGoodhealth
5 年前
trueweixin_38361347

emmm

苏州市苏州工业园区直属镇
CSDN App 扫码分享
分享
4
12
打赏
  • 复制链接
  • 举报
下一条:
一次性替换多个文件中的指定字符串假设有三个文本文件,file1.txt,file2.txt,file3.txt,我想把这三个文本文件中的「good」替换成「nice」,可以用这个命令:sed -i '.bak' 's/good/nice/g' file1.txt file2.txt file3.txt其中,「'.bak'」是指定备份文件的后缀名,为了防止误操作,sed 要求修改文件内容时要备份,如果不想备份,可以用空字符串代替「'.bak'」,即:sed -i '' 's/good/nice/g' file1.txt file2.txt file3.txts 前面可以指定行号,从而实现对文件局部的修改。比如「2,8s/good/nice/g」就是只把第 2 行到第 8 行的 good 替换成 nice。还有另外几种方式指定行号,见图一。如果把最后面那个「g」去掉,就只会替换每行中第一次出现的 good。其实 s 命令是匹配正则表达式并替换,所以可以用「s/a\db/nice」将匹配到「a\db」的字符串都替换成 nice。最后的文件列表,也可以用通配符匹配,比如把「file1.txt file2.txt file3.txt」改成「 *.txt」,就是替换所有以「.txt」结尾的文件中的内容。
立即登录