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