sed 学习实例

sed

1.编辑命令模式—command部分

sed [option] 'command' file(s)

引用 shell 脚本变量需加 “” 双引号



2.脚本模式

sed [option] -f scriptfile file(s)
-i 将修改作用到文件
-e 打印到屏幕sed效果,不修改文件—可做测试用
-f 接受一个脚本作参数,脚本每行包含一条编辑命令



3.定址—数字、正则、结合
删除指定行——正则表达式需要加 / 反斜线

sed '1d' file 删除第一行

sed '/aaa/' file 删除包含aaa行,包括ccaaa,aaacc这样的

sed '/^34/d' file 删除以34开头的行

sed '/aa$/d' file 删除以aa结尾的行

sed '1,3d' file 删除第一行到第三行[包括第一行和第三行]==删除三行

sed '/aaaa/,/cccc/d' file 删除包含aaa字样到包含ccc字样行之间所有的行[包括aaa和ccc行]

sed 'e,/22/d' file 删除第三行到包含aa字样行之间的所有行[包括第三行和aa行]

sed '$d' file 删除最后一行[$代表文件最后一行,但^不表示文件第一行]

sed -n '0,/ff/p' file 从第一行到包含ff字样的行[在-n里0或1都表示第一行,结果包括第一行和ff行]

sed -n '/aa/,+2p' file 找到包含aa字样的行和其后面2行[共3行]
[@more@]

-------------------------------------------------------------------------------

sed 用分号分割多条命令与一行

sed -i '/^aa/d;/abc123$/d;/ccc/d;/ERROR:/d;/^[[:space:]]*$/d' file

请使用浏览器的分享功能分享到微信等