lexalexs (729B)
1 #!/bin/sh 2 # 3 # lexalexs -- Séparer les symboles d’un fichier lex. 4 # 5 # À gauche du premier « + », chaque caractère est un symbole. À droite, les 6 # « + » forment un symbole jusqu’au prochain « + » ou jusqu’à la fin de la 7 # chaîne. Les symboles sont séparés par des espaces. 8 9 awk ' 10 BEGIN { FS = "+"; OFS = " " } 11 { 12 gsub(/./, "& ", $1) # Placer une espace après chaque 13 # caractère du premier champ. 14 sub(/ $/, "", $1) # Retirer l’espace finale. 15 for (i=2 ; i<=NF; i++) # Remettre le « + » à partir du 16 sub(/^/, "+", $i) # deuxième champ 17 print # Afficher tous les champs 18 print "" # Ligne vide 19 } 20 '