linux中输出匹配行的行号

 

1、测试数据

[root@centos7 test4]# ls
test.txt
[root@centos7 test4]# cat test.txt
e f j
d i x
a d g
c F w

 

2、grep 实现

[root@centos7 test4]# ls
test.txt
[root@centos7 test4]# cat test.txt
e f j
d i x
a d g
c F w
[root@centos7 test4]# grep -n "d" test.txt   ## 输出匹配d的行号
2:d i x
3:a d g

 

3、sed实现

[root@centos7 test4]# ls
test.txt
[root@centos7 test4]# cat test.txt
e f j
d i x
a d g
c F w
[root@centos7 test4]# sed -n '/d/=' test.txt  ##  输出匹配d的行号
2
3

 

4、awk实现

[root@centos7 test4]# ls
test.txt
[root@centos7 test4]# cat test.txt
e f j
d i x
a d g
c F w
[root@centos7 test4]# awk '$0 ~ /d/ {print NR}' test.txt  ## 输出匹配d的行号
2
3

 

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