查询字符串所在的行号

最近在写shell脚本过程中经常会遇到查找字符串所在行号,这里做个记录。

以1.txt为例,

xxx
yyy
zzz
xxx

1. 使用grep

1.1.查找"xxx"出现在哪几行

# grep  -n  "xxx"   1.txt  
1:xxx
4:xxx

如果需要提取字符串所处的行号,可以使用cut命令进行提取

# grep  -n  "xxx"   1.txt  | cut -d ":" -f 1

1.2.查找字符串"xxx"最后一次匹配的行号

# grep  -n  "xxx"   1.txt  | tail -1
1:xxx
4:xxx

1.3.查找字符串"xxx"第二次匹配的行号

# grep  -n  "xxx"   1.txt | head -2 | tail -1
1:xxx
4:xxx

2.使用awk

2.1.查找"xxx"出现在哪几行

awk '/xxx/{print NR}' 1.txt

2.2.查找字符串"xxx"最后一次匹配的行号

awk '/xxx/{print NR}' 1.txt | tail -1

https://blog.csdn.net/ithomer/article/details/8465880

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容