匹配模式的 awk 字段数

标签 awk expression

我想知道 awk 中是否有一个内置命令来获取您刚刚匹配的短语的字段编号。

Banana is yellow.

awk { /yellow/{ for (i=1;i<=NF;i++) if($i ~/yellow/) print $i}'



有没有办法避免编写循环?

最佳答案

如果输入字符串是单行字符串,您可以将记录分隔符设置为字段分隔符。这样做你可以使用 NR打印位置:

awk 'BEGIN{RS=FS}/yellow/{print NR}' <<< 'banana is yellow'
3

关于匹配模式的 awk 字段数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40963012/

相关文章:

linux - 使用 awk 调用函数和命令

c - 如何比较太相似的文件

perl - 使用 bash shell 自动中断由关键字分隔的千兆字节行的最快方法是什么?

php - 理解条件求解优先级中的赋值

.net-4.0 - Lambda表达式-根据对象集合中另一个属性的值设置该对象集合中一个属性的值

C# 表达式使用 == 或等于运算符和外部参数轻松转换

sql复杂的类似表达式@user

shell - 获取文件中的特定字符并交换列

python - 如何从嵌套的 csv 文件中删除子列?

javascript - Console.log() 影响表达式结果?