三剑客之sed

sed本身是一个管道命令,可以分析标注你输入。而且sed还可以将数据进行替换、删除、新增、选取特定行等功能。

命令:sed [-nefr] [操作]
选项与参数
-n:安静模式,只有经过特殊处理的行才会被输出。
-e:直接在命令行模式下进行编辑。
-f:将操作写在文件内,-f filename可以直接执行filename中的sed操作。
-r:使用扩展正则表达式的语法。
-i:直接修改读取的文件内容,而不是由屏幕输出。

a:新增,在目前的下一行
c:替换
d:删除
i:新增,在目前的上一行
p:打印,通常与-n一起使用
s:替换,通常搭配正则表达式使用

1、命令使用说明

1.1 增加信息操作

(1)在最后一行的后面添加新的一行
sed '$a 内容' 文件

(2)在最后一行的前面添加新的一行
sed '$i 内容' 文件

(3)在第一行前面添加新的一行
sed '1i 内容' 文件

(4)在第一行后面添加两行,drink和milk
sed '2adrink\nmilk' test.txt

1.2 修改信息操作

(1)替换指定行的指定内容
sed '行号s#要替换的内容#替换的内容#g' 文件
例:替换test.txt中第四行的en为an
sed '4#en#an#g' test.txt

(2)替换全文所有指定内容
sed 's#a#e#g' test.txt

(3)替换2-5行内容为【No 2-5 number】
sed '2,5c No 2-5 number' test.txt

1.3 删除信息操作

(1)删除2-5行的内容
sed '2,5d' test.txt

(2)删除2-最后一行的内容
sed '2,$d' test.txt

(3)删除空白行
sed '/^$/d' test.txt

(4)删除最后六行内容

for ((i=1;i<=6;i++));do sed -i "$d";done

2、综合练习

(1)查找jfedu所在行,并在其下一行添加word字符

sed '/jfedu/aword' test.txt

(2)查找以.test结尾的行,并在其行尾添加字符串word

sed 's/test$/&word/g' test.txt

注释:&表示添加

(3)修改SELINUX策略

sed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config

sed -i '/SELINUX/!s/enforcing/disabled/g' /etc/selinux/config

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值