shell-à-lire

des petits morceaux de shell en français - retour accueil

git clone git://bebou.netlib.re/shell-à-lire
Log | Files | Refs |

commit 6297d654c773923035d1ee6a916bd231bd6d745c
parent abec5a75a250e3978fe600164ccdab2285b38d1b
Auteurice: Arthur Pons <arthur.pons@unistra.fr>
Date:   Mon, 10 Mar 2025 18:16:50 +0100

Démonstration d'un pipe "littéraire"

C'est pas une bonne idée de coder comme ça

Diffstat:
Apipe-litteraire.sh | 31+++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+), 0 deletions(-)

diff --git a/pipe-litteraire.sh b/pipe-litteraire.sh @@ -0,0 +1,31 @@ +#!/bin/sh + +# Exemples d'un pipeline super facile à lire au détriment du code dans les +# fonctions +# Evidemment la grosse limite c'est que les variables avec lesquelles on peut +# jouer ne sont pas évidentes. Modifier 10 par 20 fonctionnera mais entiers par +# flottants. +# Pareil, changer sommer premier pour sommer dernier ne changera rien +# c'est juste joli à lire + +afficher() { + nb=$(echo "$*" | grep -Eo [0-9]+ | head -n1) + seq $nb +} +garder() { + for i in $(seq $#);do + case "$1" in + ("impaires") awk ' $1%2' ;; + ("paires") awk '!($1%2)' ;; + (*) shift ;; + esac + done +} +sommer() { + for arg; do read -r "$arg"; done + printf "$premier + $second + $quatrieme\n" | bc -l +} +afficher les 20 premiers entiers | + garder les paires | + sommer premier second et quatrieme +