AWK打印找到匹配项的列号

时间:2015-03-02 23:00:06

标签: regex bash shell awk scripting

我为这个答案看了很多地方,但找不到它。仍然在这里学习AWK,并且只是想知道如何打印找到匹配项的列号。

我希望脚本为我提供正则表达式匹配的字段/列号" / 1"找到了

INPUT

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

1 个答案:

答案 0 :(得分: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