假设我有一个包含 6 列的文本文件,如下所示

a|b|c|d|e|f

我知道文件中存在字符“d”的某个地方,但我想知道它的列号

我使用了以下命令
awk 's=index($0,"d"){print "position="s}' filename

但它也计算了我不想要的分隔符......我希望在“d”的情况下输出为 4

最佳答案

定义“|”作为记录分隔符,并在 awk 中使用 NR 变量:

awk -v RS="|" '/^d$/{print NR;}' filename

^d$ 更改为您想要匹配的任何内容。

关于linux - 如何使用unix命令在文本文件中查找列号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23578358/

10-15 01:58
查看更多