sed 小技巧:

  1. 替换字符串:

    1
    sed 's/old_string/new_string/g' filename

    这将在文件中将所有的 old_string 替换为 new_string

  2. 删除行:

    1
    sed '/pattern/d' filename

    这将删除包含指定模式的行。

  1. 在行首或行尾插入文本:

    1
    2
    sed 's/^/prefix/' filename   # 在每一行行首添加前缀
    sed 's/$/suffix/' filename # 在每一行行尾添加后缀
  2. 显示特定行或行范围:

    1
    2
    sed -n '5p' filename          # 显示第5行
    sed -n '5,10p' filename # 显示第5到第10行
  3. 使用变量:

    1
    2
    my_variable="new_value"
    sed "s/old_value/$my_variable/" filename
  4. 多个替换:

    1
    sed -e 's/old1/new1/g' -e 's/old2/new2/g' filename

    这可以在同一次 sed 命令中执行多个替换。

  5. 保留替换前的备份文件:

    1
    sed -i.bak 's/old_string/new_string/g' filename

    -i.bak 将替换前的文件备份为 .bak 文件。

  6. 仅显示匹配部分:

    1
    sed -n 's/pattern/\1/p' filename

    这将仅显示匹配到的部分,使用 \1 表示匹配到的内容。

  7. 转换大小写:

    1
    2
    sed 's/[a-z]/\U&/g' filename   # 将小写字母转换为大写
    sed 's/[A-Z]/\L&/g' filename # 将大写字母转换为小写

    \U\L 分别用于将后面的文本转换为大写和小写。