選択したフィールドをGrepして切り取る

選択したフィールドをGrepして切り取る

行が特定の名前で始まる場合は、そのフィールドを切り取りようとします。

cat $1|while read line
do
if [ "$1" = "custbills.cmp" ]; then
acc_no=`grep "^Custbills" $1 | cut -c29-43`
acc_type=`grep "^Custbills" $1 |cut -c124-125`
echo "\"${acc_no}\",\"${acc_type}\"" >> out.csv
else 
echo ""
fi
done

ただし、エラーが発生し、出力ファイルには「、」のみが表示されます。私のスクリプトに何の問題がありますか?

ベストアンサー1

スクリプトを修正して結果を得ました。

if [ "$1" = "custbills.cmp" ]; then
grep "^Custbills" $1 |while read line
do
acc_no=`echo "$line" | cut -c29-43`
acc_type=`echo "$line" |cut -c124-125`
echo "$acc_no","$acc_type" >> out.csv
done
else
echo ""
fi

おすすめ記事