linux中输出具有指定数目匹配字符的行

 

1、测试数据

root@DESKTOP-1N42TVH:/home/test2# ls
a.txt
root@DESKTOP-1N42TVH:/home/test2# cat a.txt      ## 测试数据
d eee j
x ee u
d eeeee d
a e u k
q j eeee sj
a d eeeeee jj
a c eeeeeee df
e d fee ff

 

2、输出每行有3个e的行

root@DESKTOP-1N42TVH:/home/test2# ls
a.txt
root@DESKTOP-1N42TVH:/home/test2# cat a.txt
d eee j
x ee u
d eeeee d
a e u k
q j eeee sj
a d eeeeee jj
a c eeeeeee df
e d fee ff
root@DESKTOP-1N42TVH:/home/test2# awk -F "e" 'NF == 3 + 1' a.txt       ## 输出每行有3个e的行
d eee j
e d fee ff

 

3、输出每行具有2-5个e的所有行

root@DESKTOP-1N42TVH:/home/test2# ls
a.txt
root@DESKTOP-1N42TVH:/home/test2# cat a.txt
d eee j
x ee u
d eeeee d
a e u k
q j eeee sj
a d eeeeee jj
a c eeeeeee df
e d fee ff
root@DESKTOP-1N42TVH:/home/test2# for i in `seq 2 5`; do awk -F "e" -v a=$i 'NF == a + 1' a.txt >> restult; done  ## 输出每行2-5个e的行
root@DESKTOP-1N42TVH:/home/test2# ls
a.txt  restult
root@DESKTOP-1N42TVH:/home/test2# cat restult    ## 查看结果
x ee u
d eee j
e d fee ff
q j eeee sj
d eeeee d

 

posted @ 2022-04-24 18:43  小鲨鱼2018  阅读(167)  评论(0编辑  收藏  举报