前提
シェルスクリプトで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 コメント