そういえば先月ウーバーイーツにいくら使ったんじゃろと思って、マネーフォワードの画面を見たんですが
科目でソートしてこんな感じだったわけです。合計が知りたい。
とりあえずテキストコピペしたらなんとかなるでしょう、という勘でコピペすると次のようなフォーマットでコピーされました。
05/04(火) PAYPAL *UBERBV EATS -1,665 UCカード 食費 外食 04/30(金) PAYPAL *UBERBV EATS -2,875 UCカード 食費 外食 05/22(土) PAYPAL *UBER(ほげほげ) -1,234 UCカード 食費 外食 05/21(金) PAYPAL *UBER(ほげほげ) -860 UCカード 食費 外食 05/19(水) PAYPAL *UBER(ほげほげ) -3,445 UCカード 食費 外食 05/13(木) PAYPAL *UBER(ほげほげ) -2,685 UCカード 食費 外食 05/11(火) PAYPAL *UBER(ほげほげ) -1,534 UCカード 食費 外食
3行目から4行ごとに額面の情報が出力されているので、そこだけ抜き出そうと思います。
Google先生に聞くとgsed
でできるようです。
へー便利ですね。早速使ってみます。注意点として、起点を指示する行数は0オリジンではなく1オリジンです。つまり、ファイルの最初の行は1行目として扱われます。
% gsed -n -e '3~4p' temp.txt # 3行目を起点に、4行ごとに出力する -1,665 -2,875 -1,234 -860 -3,445 -2,685 -1,534
おーすごい。合計出してしまいましょう。
% cat temp.txt | gsed -n -e '3~4p' | gsed -e 's/[-,]//g' | awk '{s+=$1} END{print s}' 14298
たくさん使っていますね。よかったですね。
余談
sum
コマンドというのがあって、僕はそれが合計を出すコマンドだとばかり思っていたのですが、全くそういうことはなく、チェックサムを出力するコマンドです。でも出力結果は数値なので非常にまぎらわしい。
% cat tempora.txt | gsed -n -e '3~4p' | gsed -e 's/[-,]//g' | sum 25275 1
余談2
もっとちゃんとした方法もありそうですが、一番これが早かったのでまあよいと思います。