以下のファイルの内容を読み取り、各行の6列目の値を抽出してから、6列目のない各行を出力するスクリプトを作成しようとしています。区切り文字としてコンマが使用されます。
入力:
123,456,789,101,145,5671,hello world,goodbye for now
223,456,789,101,145,5672,hello world,goodbye for now
323,456,789,101,145,5673,hello world,goodbye for now
私がしたことは
#!/bin/bash
for i in `cat test_input.txt`
do
COLUMN=`echo $i | cut -f6 -d','`
echo $i | cut -f1-5,7- -d',' >> test_$COLUMN.txt
done
私が得た出力は
test_5671.txt:
123,456,789,101,145,hello
test_5672.txt:
223,456,789,101,145,hello
test_5673.txt:
323,456,789,101,145,hello
「hello」と「world」の間のスペースが区切り文字として使用されたように見えるため、残りの「world、goodbyefornow」は出力ファイルに書き込まれませんでしたか?
正しい出力を取得するにはどうすればよいですか
123,456,789,101,145,hello world,goodbye for now