假设我有一个包含 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/