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)
但我仍然不认为这是做到这一点的完美方式。
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}'