# s命令会用斜线间指定的第二个文本字符串来替换第 一个文本字符串模式 echo "hello world" | sed 's/world/leyi/' # hello leyi # 要在sed命令行上执行多个命令时,只要用-e选项就可以了 sed 's/hello/nihao/; s/world/leyi/' 1.txt #如果有大量要处理的sed命令,那么将它们放进一个单独的文件中通常会更方便一些。 可以在# sed命令中用-f选项来指定文件 $ cat test.sed s/hello/nihao/ s/world/leyi/ sed -f test.sed 1.txt nihao leyi nihao leyi nihao leyi nihao leyi a:追加 向匹配行后面插入内容 macOs下 需要在换行加反斜杠 # 行尾添加字符 sed “/$/a \ big world" 1.txt # 在带有world的行后添加nihai leyi sed "/world/a \ nihao leyi" 1.txt # 在第二行后添加nihai leyi sed "2a \ nihao leyi" 1.txt c:更改 更改匹配行的内容 # 匹配带world的行然后整行替换成big world sed -i '' "/world/c \ big world" 1.txt i:插入 向匹配行前插入内容 和-i 不同 # -i:直接对内容进行修改,不加-i时默认只是预览,不会对文件做实际修改 # 在匹配的world行前插入big world sed -i '' "/world/i \ big world" 1.txt d:删除 删除匹配的内容 # 删除带world的行 sed -i '' "/world/d " 1.txt # 删除空行 sed -i '' "/^$/d " 1.txt # 删除1至2行 sed -i '' "1,2d " 1.txt # 删除2至最后一行 sed -i '' “2,$d " 1.txt p :显示,将某个选择的数据打印显示。通常 p 会与参数 sed -n 一起执行 # 显示带world的行等同 grep 'world' -r 1.txt sed -n '/world/p' 1.txt # 显示第一行等同 head -n 1 1.txt sed -n '1p' 1.txt # 显示第最后一行等同 tail -n 1 1.txt sed -n '$p' 1.txt