linux shell sed awk 命令(1)-sed
sed [选项]... {脚本指令} [输入文件]
-n,--quiet,--silent 静默输出,该选项可以屏蔽自动打印
-e 允许多个脚本命令被执行
-f 从文件中读取脚本指令
-i,--in-place 直接修改源文件
-l N 可以输出行的长度
--posix 禁用GUN sed扩展功能
-r 在脚本中使用扩展正则表达式
-s,--separate 默认情况下sed将把输入的多个文件名作为一个长的连续的输入流.
GUN sed 允许把他们当做单独的文件
-u,--unbuffered 最低限度的缓存输入与输出
eg:
sed '2a TYPE=Ethernet' eth0 第二行后追加
sed '3i TYPE=Ethernet ' eth0 第三行前插入
sed 's/yes/no/g' eth0 将文本中的yes替换成no
sed '3,4d' eth0 删除第三行和第四行
sed '/^GATEWAY/d' eth0 删除geteway的行
sed 's/yes/no/g;s/static/dhcp/g' eth0
sed -e 's/yes/no/g' -e 's/static/dhcp/g' eth0 命令效果如上面命令一样
sed -f sed_command.sh eth0 使用sed_command.sh中的命令进行操作
sed_command 内容如下:
/^$/d
sed -n '2p' eth0
sed -n '1~2p' eth0 打印文件中奇数数行
sed '2,8d' eth0 删除2~8之间所有行
sed 常用命令汇总
s 替换
a 追加
c 更改
y 按字符串替换
p 打印
w 保存至文件
d 删除
i 插入
l 打印,显示非打印字符
L 打印,不显示非打印字符
r 读入文件内容
q 退出
eg:
(1)给html文件中第二个body 追加/
1.test.html
内容如下: