sed命令

语法

sed 选项 ‘addresscmd+’ 文件名

选项

  • -i
    修改源文件
  • -n
    不打印没有处理的行

address

  • 行号
    • 指定行,用一个数字
    • 1到5行,用1,5
  • 匹配表达式
  • 结合正则
    • sed -r 's/^Linux/Unix/' test.txt
    • sed -r 's/Linux$/Unix/' test.txt
    • sed '/^$/d' test.txt

子命令

  • p
    打印
  • d
    删除:sed '/Linux/d' test.txt 删除包含Linux的行
  • i
    在行首插入字符串,如sed '2i Hello World!' test.txt
  • a
    在行后追加字符串,如sed '2a End of Line' test.txt

替换

  • 替换每行第一个匹配的字符串
    sed 's/old/new/' file
  • 替换所有
    sed 's/old/new/g' file
  • 限制行
    sed '1s/old/new/g' file 替换第一行
    sed '1,4s/old/new/g' file 替换1到4行
  • 替换时忽略大小写
    sed 's/linux/Unix/Ig' test.txt
posted @ 2026-05-08 17:31  光可遇  阅读(8)  评论(0)    收藏  举报