直接在原文的基础上修改

  1. sed -i 's/ABC/abc/g' some.txt

多次替换

  • 方案1 使用分号

    1. sed 's/ABC/abc/g;s/DEF/def/g' some.txt
  • 方案2 多次使用-e

    sed -e 's/ABC/abc/g' -e 's/DEF/def/g' some.txt
    

    转译/

    如果替换或者被替换的字符中本来就有/, 那么替换就会无法达到预期效果,那么我们可以用其他的字符来替代/。

The / characters may be uniformly replaced by any other single character within any given s command. The / character (or whatever other character is used in its stead) can appear in the regexp or replacement only if it is preceded by a \ character.
https://www.gnu.org/software/sed/manual/sed.html

# 可以用#来替代/
sed 's#ABC#de/#g' some.txt
# 也可以用?来替代/
sed 's?ABC?de#?g' some.txt

替代的目标中包含变量

# 注意这里用的是双引号,内部的变量会被转义
sed "s#ABC#${TODAY}#g" some.txt

参考