regex - AWK 打印找到匹配项的列号

标签 regex bash shell awk scripting

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

6年前关闭。




Improve this question




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

我希望脚本给我找到正则表达式匹配“/1”的字段/列号

输入

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

关于regex - AWK 打印找到匹配项的列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28821042/

相关文章:

javascript - 如果之前没有另一个字符,如何查找字符

Python:用单词列表替换句子中的一个单词,并将新句子放在 pandas 的另一列中

java - 使用 ProcessBuilder 停止从 Java 扫描树莓派中的 BLE 加密狗

linux - 如何更改属于选定用户的所有文件的权限

c - 使用参数运行程序而不是填充值

python - 使用关键字参数 'detail' id' : 5 '{' posts/(? P<slug>[\\w-]+)/$'] 反转 }' not found. 1 pattern(s) tried: ['

ruby-on-rails - 什么是自动修复英语语法的 Rails 插件或 Ruby gem?

bash - 在数百万个 csv 文件上运行 bash 脚本

linux - 无法正确读取 Bash 中的文件

python - 如何告诉 bash 专门转义 Python 脚本中的通配符