我有一个 csv 文件,我想在特定列(我的数据集中的第 5 列)(忽略大小写)中搜索一个字符串columnB
,并对另一个columnC
(我的数据集中的第 10 列)应用过滤器。然后将选定的列保存到文件中。
数据集样本
columnA columnB columnC columnD
abc Apple 100 today
nbd apple 50 tomorrow
ccc apple 101 today
期望的输出
columnB columnC
Apple 100
apple 101
我使用时的问题awk
我可以选择columnB
,但我无法输出标题。
awk 'BEGIN {IGNORECASE = 1} {if($5 == "Apple") print $0 }' Data.csv> testPipe.txt
我尝试过使用NR==1
,但由于某种原因它不适用于IGNORECASE
.
我也尝试了这里和这里的方法。
我尝试使用grip
,我可以输出标题但我无法指定columnB
字符串匹配。并且搜索将应用于所有列。
cat Data.csv |{ head -1; grep -I "Apple";} | awk -F',' '{ if ($10 >100 ) { print } }'>testPipe.txt
有没有办法结合这两种方法并获得所需的输出?谢谢