使用 awk grep 多个内容

使用 awk grep 多个内容

我想在 .tsv 文件的一列中 grep 多个内容,但我不知道如何正确分隔这些内容。我需要 grep 所有带有 a、b 或 c 的单词。这些字母所在的列是第六列。

所以我已经知道如何 grep 一个字母,但不是全部。我写过一封信:

awk '{ if ($6 == "a") print $1,$6,$4}'

也许这是一个非常简单的问题,但我如何一次打印所有字母(a,b,c)?

答案1

假设这.tsv意味着制表符分隔值:

/a/如果要打印第六个字段与、/b/或匹配的任何记录中的字段 1、6 和 4 /c/

$ awk -F '\t' '$6 ~ /a|b|c/ { print $1, $6, $4 }' inputfile

相关内容