Linux sed 命令高效文本操作

Linux 下的 sed 命令功能十分强大,能够完美地配合正则表达式使用,灵活巧妙地利用sed命令,可以极大地提高工作效率。

sed 的用法非常多,不可能一一枚举,本文仅针对个人实践过程中比较常见的几个功能作简要介绍。

1.替换操作

直接编辑文件选项 -i,会把 file 文件中每一行第一个匹配项替换为指定项:

sed -i 's/pen/pencil/' file

其中,s 表示替换操作。使用后缀 /g 标记会替换每一行中的所有匹配,若把 -i 去掉,则不会编辑文本,只会将改变显示在控制台:

sed -i 's/pen/pencil/g' file
2.删除操作

删除空白行:

sed '/^$/d' file

删除文件的第2行:

sed '2d' file

删除文件的第2行到末尾所有行:

sed '2,$d' file

删除文件最后一行:

sed '$d' file

删除文件中所有开头是 hello 的行:

sed '/^hello/'d file
3.打印奇数或偶数行

方法一:

sed -n 'p;n' test.txt  #奇数行
sed -n 'n;p' test.txt  #偶数行

方法二:

sed -n '1~2p' test.txt  #奇数行
sed -n '2~2p' test.txt  #偶数行
4.打印前几行后退出 sed

打印完第10行后,退出 sed:

sed '10q' file

上述中所有操作,加上 -i 选项后才能达到编辑文件的效果,若不加 -i ,则只会在控制台显示改变。

更多更巧妙的 sed 功能,敬请期待!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值