シェルスクリプトでCSVファイルのフィールドを出力したい

前提

シェルスクリプトでCSVファイルを読み込み、awkコマンドで各フィールドを出力したいのですがうまくいきません。
上記についてアドバイスをいただきたく、お手数をおかけしますがよろしくお願いします。

○読み込むCSVファイルの形式
対象のファイルは,で区切られていますが各フィールドの要素は"で囲われています。
"データ①","データ②","データ③","データ④"

発生している問題・エラーメッセージ

一部のデータに「,」含まれている場合があり、
そのようなデータを処理した場合にデータの出力がずれてしまいます。

実現したいこと

データの中に「,」が含まれてしまうことは避けれないので、
awkで「",」を区切り文字としてデータを分割したいと考えております。

該当のソースコード

#!/bin/bash for file in `\find ./log/ -name '*.csv'`; do cat $file | awk 'BEGIN{FS="","}{print $1,$4}' >> Output.csv #以下の書き方でもうまくいきませんでした。 #cat $file | awk -F '",' -v OFS="," ' {print $1,$4}' >> Output.csv done

以上です。よろしくお願いします。

コメントを投稿

0 コメント