sed命令

一.替换

命令格式1:sed 's/原字符串/新字符串/' 文件

命令格式2:sed 's/原字符串/新字符串/g' 文件

1.这两种命令格式的区别在于是否有个“g”。没有“g”表示只替换第一个匹配到的字符串(每行都会替换只是只替换第一个匹配到的字符串)。

2.有“g”表示替换所有能匹配到的字符串,“g”可以认为是“global”(全局的)的缩写,没有“全局的”结尾就不要替换全部,这样就好记啦。命令可以使用正则表达式来处理。

 

二、替换某行内容

命令格式1:sed '行号c 新字符串' 文件

命令格式2:sed '起始行号,终止行号c 新字符串' 文件

第一个命令表示用新的字符串替换指定这一行的内容, 第二个命令表示用新字符串替换指定几行的内容。

三、多条件替换

命令格式:sed -e 命令1 -e 命令2 -e 命令3

有些时候有多个替换条件,那就可以使用“-e”参数将这些替换条件连接起来,一次性完成所有的替换操作。例如,可以将上述的两种命令连接起来:“sed -e 's/原字符串/新字符串/' '行号c 新字符串' 文件”。

四.保存替换结果到文件中

命令格式:sed -i 命令

sed命令只会将替换、修改结果打印到屏幕上,原文件并没有改变什么。如果想保存结果到文件中(不打印),就需要加上“-i”参数。

五.删除行

如果是要删除第三行:
sed -i '3d' 1.txt

如果是要删除    1~3行:
sed -i '1,3d' 1.txt

如果删除以Love开头的行
sed -i '/^Love/d' 1.txt

删除包含Love的行
sed -i '/Love/d' 1.txt

六.添加行

a\ 在指定的行后面追加一行
i\ 在指定的行前面追加一行

### 使用指定的行号追加内容,在使用行号的过程中,需要注意的问题有以下
### N;后面只能使用偶数,且不可以为0(N 就是N不是参数)
###  a表示在指定的行后面追加一行
###  i表示在当前行插入一行,如果指定行为4,其实最终的结果插入行的位置是第三行。
sed -i 'N;2a\newline' 1.txt
sed -i 'N;2i\newline' 1.txt

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值