从 CSV 中搜索 2 列中的值

Ebb*_*ham 5 grep search cut csv columns

我有一个包含 20 个奇数列的 csv 文件。

我需要获取第 14 和第 15 列的值,其中第 14 列中的值是说"VALUE1",第 15 列中的值是"VALUE2".

我的条件只有在第 14 列有VALUE1,第 15 列有VALUE2. 我需要得到总计数。

我认为wc -l可以给我计数列表并 cut -d "," -f14,15给我第 14 和第 15 列的值。但是如何检查 14th hasVALUE1和 15th has VALUE2

我认为下面的一个有效

grep -r "" * | cut -d " " -f14,15 | grep "Value1" | grep "Value2"
Run Code Online (Sandbox Code Playgroud)

但我仍然不认为这是做到这一点的完美方式。

ДМИ*_*КОВ 4

awk在这里可能更有用。

例如:

$> echo "a b c d e" | awk '$2=="b" && $3=="c" {print}'
a b c d e

$> echo "a b c d e" | awk '$2=="a" && $3=="c" {print}'

$> echo "a b c d e" | awk '$2=="b" && $3=="d" {print}'
Run Code Online (Sandbox Code Playgroud)

所以你的问题的答案可能是:

awk '$14=="VALUE1" && $15=="VALUE2" {print}'