shell-à-lire

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

git clone git://bebou.netlib.re/shell-à-lire

Log | Files | Refs |

pipe-litteraire.sh (778B)


      1 #!/bin/sh
      2 
      3 # Exemples d'un pipeline super facile à lire au détriment du code dans les
      4 # fonctions
      5 # Evidemment la grosse limite c'est que les variables avec lesquelles on peut
      6 # jouer ne sont pas évidentes. Modifier 10 par 20 fonctionnera mais entiers par
      7 # flottants.
      8 # Pareil, changer sommer premier pour sommer dernier ne changera rien
      9 # c'est juste joli à lire
     10 
     11 afficher() {
     12 	nb=$(echo "$*" | grep -Eo [0-9]+ | head -n1)
     13 	seq $nb
     14 }
     15 garder() {
     16 	for i in $(seq $#);do
     17 		case "$1" in
     18 			("impaires") awk '  $1%2'  ;;
     19 			("paires")   awk '!($1%2)' ;;
     20 			(*) shift ;;
     21 		esac
     22 	done
     23 }
     24 sommer() {
     25 	for arg; do read -r "$arg"; done
     26 	printf "$premier + $second + $quatrieme\n" | bc -l
     27 }
     28 afficher les 20 premiers entiers |
     29 	garder les paires |
     30 	sommer premier second et quatrieme
     31