--- 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 '{ print substr($0,13,4)}' TR.txt|awk '{ sub(/[0-9][0-9]/,"\&.")}1'|awk '{print $1; s+=$1} END {print "Total :" s " Nombre de TR : " NR " Pour une moyenne de : " s / NR "€"}'