sed使用

参考:

https://segmentfault.com/a/1190000015885994

sed -i #操作直接修改文件内容
sed -n #仅仅输入后面操作的内容
sed -e #按照后面处理
其中: d 为删除 a为新增 p为打印

sed "s/b/a/g"  a.txt   #a字符替换b字符,g表示全局替换;  这里是只打印替换后的内容 不影响a文件内容
sed -i "s/b/a/g"  a.txt   #替换内容并写入a文件
echo "12345-m23994" |sed "s/.*-m//g"   #替换到-m的地方
echo "12345-m23994" |sed "s/m.*//g"    #替换从m开始的到结尾
sed 's/[0-9]/ii/2’   把数字第二次出现的地方刚才用ii替换
sed -i  "/***/d"   a.txt    #删除匹配***内容的行(可以是正则表达式)
sed "2d"  a.txt   #删除第2行
Sed ‘2,$d’ a.txt  #删除第二行到最后一行
sed -n "5,7p"  a.txt   #只打印5-7行  不加n时全文打印
nl /etc/passwd | sed '/root/p'    #搜索 /etc/passwd有root关键字的行
sed 's/.*-m//g'   #删除从头到-m的内容
Sed ‘s/jre.*//g’   #删除从jre开始到结束内容
nl /etc/passwd | sed -n '/root/{s/bash/blueshell/;p;q}'
#搜索/etc/passwd,找到root对应的行,执行后面花括号中的一组命令,每个命令之间用分号分隔,这里把bash替换为blueshell 
也可以分步骤执行sed  结果为:
1  root:x:0:0:root:/root:/bin/blueshell
sed ':a;N;$!ba;s/\n/ /g'   a.txt   #去除换行符
sed 's/[[:space:]]//g' a.xtx  #去除空格 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值