Remplacer Sed et Awk par Ruby 8: Script sur la ligne de commande
Il est temps de se passer d’un fichier pour notre script… Lorsque celui-ci est suffisament court, on peut l’écrire directement sur la ligne de commande.
Si on reprend l’exemple tout simple du dernier article, nous avions le fichier de données suivant à transformer en place en majuscule:
alice
bobCe qu’on a fait à l’aide du script suivant:
$_.upcase!Autrement une seule ligne ! Est-ce que ça vaut vraiment la peine d’écrire
un fichier pour ça ? Bien sûr que non. On va donc se passer du fichier
script en donnant le code sur la ligne de commande grâce à l’option -e:
ruby -p -i.2 -e '$_.upcase!' data.txtEt voilà, vous êtes maintenant prêts à écrire des one liners. Notez
quand même qu’il vaut mieux utiliser les guillemets simples (') autour
du code plutôt que les doubles ("), pour empêcher Bash d’interpréter
certains caractères (comme ici le !).
À demain.