shell脚本--sed

sed介绍

​ sed 是一种在线的、非交互式的编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出;Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等

sed语法格式

sed [options]  'command' in_file[s]

options部分

-n   静默输出(不打印则默认不输出) 

显示a.txt中的第一行

sed -n "1p" a.txt

-e 给予sed多个命令的时候需要-e选项

也可以使用“;”将多个命令分隔开

sed -e "s/root/ROOT/G" -e "s/bash/www/g"  passwd > passwd.bak

sed "s/root/ROOT";"s/wwww/kkkk/g" passwd | less

-i     -i后面没有扩展名的话直接修改文件,如果有扩展名备份源文件,产生以扩展名结尾的新文件

sed -i.bak "s/root/ROOT/g" passwd

-f 当有多个要编辑的项目时,可以将编辑命令放进一个脚本里,在使用sed搭配-f选项

cat s.sed 
s/bin/a/g
s/ftp/b/g
s/mail/c/g
sed -f s.sed passwd | less

command部分   

p   打印行 1p 输出再打印一遍第一行 1~2 打印奇数 0~2打印偶数    
   

#打印偶数行
sed -n "0~2p" /etc/password
#打印奇数行
sed -n "1~2p" /etc/password

d  删除文本

sed '1 d' passwd
sed '$ d' passwd
sed '1,3 d' passwd
sed '1,/^dian/  d' passwd

a  追加文本(后)

sed '2 a nihao' passwd
sed '/^dian/ a nihao' passwd
   

i    前插

sed -i '1 i nihao' passwd

c   替换 sed '/zhong/c abc' 将zhong这一行替换成abc

sed -i '1 c no' passwd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河中医第一IKUN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值