AWK 打印找到匹配项的列号
AWK print the column number where a match is found
我找了很多地方找这个答案,但没找到。仍在学习 AWK,只是想知道如何打印找到匹配项的列号。
我希望脚本给我找到正则表达式匹配“/1”的 field/column 编号
输入
name1 0/0 0/0 0/1 0/0
name2 0/1 0/0 0/0 0/0
name3 1/1 0/0 0/0 0/0
name4 0/0 0/0 0/0 1/1
期望的输出
4
2
2
5
$ cat adr.txt
name1 0/0 0/0 0/1 0/0
name2 0/1 0/0 0/0 0/0
name3 1/1 0/0 0/0 0/0
name4 0/0 0/0 0/0 1/1
$ awk '{ for (i=1; i<=NF; ++i) { if ($i ~ "/1$") print i } }' adr.txt
4
2
2
5
我找了很多地方找这个答案,但没找到。仍在学习 AWK,只是想知道如何打印找到匹配项的列号。
我希望脚本给我找到正则表达式匹配“/1”的 field/column 编号
输入
name1 0/0 0/0 0/1 0/0
name2 0/1 0/0 0/0 0/0
name3 1/1 0/0 0/0 0/0
name4 0/0 0/0 0/0 1/1
期望的输出
4
2
2
5
$ cat adr.txt
name1 0/0 0/0 0/1 0/0
name2 0/1 0/0 0/0 0/0
name3 1/1 0/0 0/0 0/0
name4 0/0 0/0 0/0 1/1
$ awk '{ for (i=1; i<=NF; ++i) { if ($i ~ "/1$") print i } }' adr.txt
4
2
2
5