デビット、クレジット、および引き出し取引を含むファイルがあります。各取引後の残高を記録するには、bashスクリプトが必要です。したがって、ファイルは次のようになります。
D:11/02/12:1000.50
C:11/03/12:300
W:11/05/12:95.50
D:11/10/12:125
C:11/20/12:265.50
ここで、D = 借方、C = 便、W = 引き出し
出力は次のようになります。
11/02/12 1000.50
11/03/12 700.50
11/05/12 605.00
など。で作成しましたが、awk
どのように作成するのかわかりませんbash
。どんな提案やサンプルでも大変感謝いたします。
ベストアンサー1
シンプルでスマートに保つ
#!/usr/bin/env bash
D_amt=0
[[ $# -eq 0 ]] && { echo -e "Usage\n\t $0 input_file"; exit 1; }
while IFS=':' read type Date amt
do
case $type in
D) D_amt=$( echo $amt + $D_amt | bc )
echo $Date $D_amt && continue ;;
C|W) D_amt=$( echo $D_amt - $amt| bc)
echo $Date $D_amt && continue ;;
esac
done <$1