bash - 如何获取第n个匹配的行号?

标签 bash awk grep numbers line

假设我有以下文件:

* cat
* dog
* cat
* fish
* fish
* cat
* turtle

假设我想找到 cat 的第二个匹配项的行号,我该怎么做?

最佳答案

$ awk '/cat/{c++} c==2{print NR;exit}' file
3

对猫进行计数,打印行号并在所需的匹配值后退出。

关于bash - 如何获取第n个匹配的行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57044203/

相关文章:

mysql - 是否可以使用 drush 将文件 rsync 到 MySQL 转储的 drush 转储目录?

git - 如何创建自定义 git/bash 脚本?

awk,小端顺序和 4 个十六进制数字

regex - 在linux中,如何在匹配字符串后删除换行直到下一个匹配?

ubuntu - 使用 grep 搜索字符串

bash - 如何检查 docker pull 是否真的拉了东西

linux - 在 bash 脚本中转义空格

linux - -bash :/usr/bin/virtualenvwrapper. sh: 没有那个文件或目录

linux - 从文件中获取字符串

unix - ubuntu 中的模式匹配日志