特定の列columnB
(データセットの列 5) で文字列を検索し (大文字と小文字は区別されません)、別のcolumnC
列 (データセットの列 10) にフィルターを適用する csv ファイルがあります。次に、選択した列をファイルに保存します。
データセットのサンプル
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
両方の方法を組み合わせて目的の出力を得る方法はありますか? ありがとう