挿入されたコンマを含む列値に基づいてCSVファイルから行を選択します。

挿入されたコンマを含む列値に基づいてCSVファイルから行を選択します。

顧客データ、顧客名、顧客電子メール、キャンセル理由、キャンセル理由コメントの5つの列を含むCSVファイル(CSV UTF-8(カンマ区切り)(.csv))があります。

キャンセル理由列に「後で希望するアイテム、後でインポートしないように選択」を含む行をフィルタリングしてから、input1.csvという新しいファイルに読み込むにはどうすればよいですか?

私が試したことは次のとおりです。ただし、input1.csvは空白として表示されます。

awk -F , '$4 == "Wanted item later, choose not to get it later" { print }' input.csv > input1.csv

以下は、input.csvファイルへのサンプル入力です。

cancellation date,customer first name,customer email,cancel reason,cancel reason comments
1/22/17,aaaa,[email protected],"Wanted item later, choose not to get it later", test

ベストアンサー1

私の答えと一致前の質問、使用csvkit、CSV が正しく引用され、カンマを区切り文字として使用すると仮定します。

$ csvgrep -c "cancel reason" \
    -m "Wanted item later, choose not to get it later" input.csv >input1.csv

または

$ csvgrep -c 4 -m "Wanted item later, choose not to get it later" input.csv >input1.csv

おすすめ記事