ADD : calcul des tickets restaurants avec awk
This commit is contained in:
parent
e5e2f6f4e9
commit
f3265ba716
|
@ -0,0 +1,26 @@
|
||||||
|
---
|
||||||
|
title: "Préparer un dépot de tickets restaurant"
|
||||||
|
date: 2022-09-11T11:48:56+02:00
|
||||||
|
tags:
|
||||||
|
- shell, awk, oneliner
|
||||||
|
categories :
|
||||||
|
- commandline
|
||||||
|
draft: false
|
||||||
|
description : "awk pour la restauration"
|
||||||
|
slug : "tickets-restaurant-awk"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
J'ai quelques tickets restaurant à trier et déposer au CRT. Le problème c'est qu'il faut leur donner le nombre exact et le montant.
|
||||||
|
|
||||||
|
C'est long et fastidieux. J'ai une douchette à code barres, ça va être moins long et moins fastidieux :-)
|
||||||
|
|
||||||
|
Dans le code barre, le montant est "hardcodé" entre le 13ème et le 16ème caractères. Il suffit donc de :
|
||||||
|
- scanner chaque ticket avec la douchette et renvoyer le tout dans un fichier
|
||||||
|
- extraire le chiffre entre la 13ème et le 16ème caractère inclus
|
||||||
|
- ajouter un point entre les 2
|
||||||
|
- faire la somme
|
||||||
|
|
||||||
|
mon onliner pour faire ça :
|
||||||
|
|
||||||
|
awk '{substr($0,13,16);sub(/[0-9]{2}/, "&.",$1); s+=$1} END {print "Total :" s " Nombre de TR : " NR " Pour une moyenne de : " s / NR "€"}' mon_fichier
|
Reference in New Issue