シェルスクリプトを用いて改行コードを含むデータがあるcsvファイルを1行ずつ読み込みたいと考えています。
index.csv A,B,C(改行)D,E F,G,H(改行),I,J
上記のようなデータがある場合に、各行の4列目を取得する時、改行が区切り文字?として認識されてしまいうまく抽出できません。
sh
1cat index.csv | while read line 2do 3 INDEX=`echo "$line" | cut -d, -f4` 4 echo "$INDEX" 5done
欲しい出力としては、以下ですが、このようになりません。
D I
どのようにすれば良いでしょうか。
KojiDoi さんの回答のコメントにあなたが書いた、
> データは以下のようになっています。説明不足でした。申し訳ありません。
> "A","B","C(改行)D","E"
> "F","G","H(改行)I","J"
・・・は質問欄を編集して追加情報として追記してください。
sh って何ですか? CSV パーサーのライブラリは使えないのですか? 改行コードやデリミタがフィールド値の中にある場合、フィールド値をダブルクォート (") で囲むと言った約束を設けて対応しますが、そのような CSV ファイルの処置が可能なパーサーを自力で作るのは簡単ではありません。
回答1件
あなたの回答
tips
プレビュー