如何使用awk在CSV文件的一列内搜索完整的文本匹配,并仅输出第一个匹配的行?

时间:2012-04-18 09:20:04

标签: csv awk

我使用How to restrict grep to search only the one column within a CSV file, but to output matching lines in their entirety?的答案用awk搜索特定的列,然后输出匹配的行,例如:

awk -F@ "{if (\$2 ~ /$find_me/ ) { print \$0; } }" <input_file>
  • 如何将搜索限制为仅匹配列完全匹配$find_me的行?
  • 如何将搜索限制为仅输出文件中找到的第一个匹配项?

1 个答案:

答案 0 :(得分:2)

你可以试试这个:

awk -F@ -v pattern="$find_me" '$2 ~ "^" pattern "$"' input.txt

或者

awk -F@ -v pattern="^$find_me\$" '$2 ~ pattern' input.txt