Linux---sed使用记录

1. sed删除空行

举例:

## cat test.txt
a
   
b
c



d


解决方法1:

## sed '/^[ ]*$/d'   test.txt 
a
b
c
d

解决方法2:

## sed '/^\s*$/d'   test.txt
a
b
c
d
2. sed删除前几行

假设删除前10行:

## 删除第1行到第10
sed '1,10d'  filename  

## 删除第2行到第3
sed '2,3d'  filename

## 只是删除某一行(删除第2行)
sed  '2d'  filename
3. sed替换

sed将全文制表符号(tab,\t)替换为(换行符号,\n):

sed  's/\t/\n/g'  filename
4. sed在某一行插入

举例如下:

## cat test.txt
a
b
c
d

在第二行前面(in front;i)插入test1 test2:

## sed '2itest\ttest2' test.txt 
a
test	test2
b
c
d

在第二行后面(after;a)插入test1 test2:

## sed '2atest\ttest2' test.txt 
a
b
test	test2
c
d

当不知道在哪一行时候,可以匹配行的内容,在匹配行的前一行:

## sed '/a/i\bbbbb'  test.txt 
bbbbb
a
b
c
d

在匹配行的后一行:

## sed '/a/a\bbbbb'  test.txt 
a
bbbbb
b
c
d

如果想要源文件修改,使用参数-i,更多用法后续补充。

5. sed求某一列数据的最大最小值(结合awk)

需求:一文件内容如下,求第一列的最大值和最小值

1 1220

2 1221
3 1222
3 1223
4 1224
5 1225
12 1226
12 1227
12 1228
12 1229
12 1230

命令如下

求最小值:

sed ‘/^$/d’ test.txt|awk ‘NR==1{min=$1;next}{min=min<$1?min:$1}END{print min}’
求最大值:

sed ‘/^$/d’ test.txt|awk ‘NR==1{max=$1;next}{max=max>$1?max:$1}END{print max}’
利用sed删除空行,利用awk筛选出最大值和最小值

参考:
https://blog.csdn.net/diy534/article/details/8570626
https://www.csdn.net/tags/MtTaMg3sODk3NzQxLWJsb2cO0O0O.html
https://blog.csdn.net/weixin_42191996/article/details/90676076

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值