unix - 如何在grep中的每个匹配行内打印列偏移量

标签 unix grep

通过将 -o -n 传递给 grep,我可以输出文件中模式的所有匹配部分,以及找到每个匹配项的行号。

我怎样才能在找到模式的那一行内打印列偏移量?

最佳答案

我想我能够模仿你用 awk 做的同样的事情。引用 AWK 手册:

http://www.staff.science.uu.nl/~oostr102/docs/nawk/nawk_92.html

这是我的文件的样子:

this,is,a,test,line
this, ,a,test,line,with,the,second,field,blank
this, is,another,test,line,with,a,blank,in,the,second,field,but,the,field,isnt,blank
this, ,is,another,line,with,a,blank,second,field

这是我运行的命令:
awk '{regex = "test"; where = match($0, regex); print "REGEX: ",where," on line ",NR}' test

和输出:
REGEX:  11  on line  1
REGEX:  10  on line  2
REGEX:  18  on line  3
REGEX:  0  on line  4

我做这件事又快又脏,但我希望它足以帮助你到达你需要去的地方。

关于unix - 如何在grep中的每个匹配行内打印列偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16443544/

相关文章:

perl - 多个脚本并行访问公共(public)数据文件 - 可能吗?

linux - Grep:复制包含特定文本的链接

linux - 计算日志文件中单词 [error] 和 [notice] 的出现次数

bash - 重命名文件时 bash 循环的性能

linux - 从日志文件中获取最后 30 分钟

c - 两个 fork 和 wait 的使用

linux - 庆典 : grep exact matches based on the first column

c - 信号编号来命名?

bash - zgrep目录中的多个gz文件

regex - 为什么在对 ps 进行 grepping 时,将单个字符括在正则表达式中的括号中会排除 grep 本身?