gpt4 book ai didi

awk - 如何打印出 AWK 中的特定字段?

转载 作者:行者123 更新时间:2023-12-05 01:22:02 26 4
gpt4 key购买 nike

一个非常简单的问题,找不到答案。如何打印出 awk 中的特定字段?

awk '/word1/',当我只需要一个 word1 时,它会打印出整个句子。或者我需要一个模式链 (word1 + word2) 仅从文本中打印出来。

最佳答案

好吧,如果模式是单个单词(您想打印但不能包含 FS(输入字段分隔符)),为什么不呢:

awk -v MYPATTERN="INSERT_YOUR_PATTERN" '$0 ~ MYPATTERN { print MYPATTERN }' INPUTFILE

如果您的模式是正则表达式:

awk -v MYPATTERN="INSERT_YOUR_PATTERN" '$0 ~ MYPATTERN { print gensub(".*(" MYPATTERN ").*","\\1","1",$0) }' INPUTFILE

如果必须在每个字段中检查您的模式:

awk -v MYPATTERN="INSERT_YOUR_PATTERN" '$0 ~ MYPATTERN { 
for (i=1;i<=NF;i++) {
if ($i ~ MYPATTERN) { print "Field " i " in " NR " row matches: " MYPATTERN }
}
}' INPUTFILE

根据您的喜好修改以上任何内容。

关于awk - 如何打印出 AWK 中的特定字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9152992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com