把一个文档前五行中包含字母的行删掉,同时删除 6 到 10 行 包含的所有字母

1) 准备测试文件,文件名为 2.txt

第 1 行 1234567 不包含字母

第 2 行 56789BBBBBB

第 3 行 67890CCCCCCCC

第 4 行 78asdfDDDDDDDDD

第 5 行 123456EEEEEEEE

第 6 行 1234567ASDF

第 7 行 56789ASDF

第 8 行 67890ASDF

第 9 行 78asdfADSF

第 10 行 123456AAAA

第 11 行 67890ASDF

第 12 行 78asdfADSF

第 13 行 123456AAAA

2)脚本如下:

#!/bin/bash
##############################################################
#把一个文档前五行中包含字母的行删掉,同时删除 6 到 10 行包含的所有字母
##############################################################
sed -n '1,5'p 2.txt |sed '/[a-zA-Z]/'d
sed -n '6,10'p 2.txt |sed s'/[a-zA-Z]//'g
sed -n '11,$'p 2.txt
#最终结果只是在屏幕上打印结果,如果想直接更改文件,可将输出结果写入临时文件中,再
替换 2.txt 或者使用-i 选项

最后更新于