シェルスクリプト総合 その7
■ このスレッドは過去ログ倉庫に格納されています
0057名無しさん@お腹いっぱい。
2006/09/14(木) 00:26:42ファイル名:file_a
データ:
1,abc,b,c
2,def,e,f
3,ghi,h,i
これを先頭の数字次第で別ファイルに吐き出したいのですが、
#!/bin/sh
for REC in `cat file_a`
do
echo "$REC" >> record.dat
NUM=`cat record.dat | cut -d "," -f1`
case $NUM in
1) cut -f1- record.dat >> text1.txt ;;
2) cut -f1- record.dat >> test2.txt ;;
*) echo "error";;
esac
rm record.dat
done
--
forでfile_aを一行ずつ読んで、一時的にrecord.datに格納し、先頭の文字でcaseで振り分けるというやり方をして動かしています。
これで上記のデータであれば動くのですが、
データ:
1,a bc,b,c
2,def,e ,f
3,ghi,h,i
という風に半角スペースが入るとそこで改行と認識されるようで、一行単位で認識をしません。
何か良い方法はないかアドバイスをいただけないでしょうか。よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています