Xavier Nayrac

Rubyiste accro au TDD, serial blogger, apprenti data scientist, heureux utilisateur de Vim, accordéoniste.
Si vous vous sentez particulièrement généreux, suivez moi sur Twitter.

Remplacer Sed et Awk par Ruby: Un dernier exemple

| Comments

Niveau : facile

Avant de mettre un terme à cette série d’articles, j’aimerais donner un dernier exemple concret de l’utilisation de Ruby en mode Sed/Awk. Il y a quelques jours, j’ai ajouté un bouton «flattr» à la fin des quelques 160 articles de ce blog. Voici comment j’ai fait…

Tout d’abord le script Ruby:

script.rb
1
2
3
4
5
BEGIN{code= "code à insérer"}

if $_.start_with?("À demain.")
  $_ = "\n\n#{code}\n\n#{$_}"
end

Je cherche à insérer le code avant la chaîne “À demain.”, qui termine chacun de mes articles. Si vous avez suivi cette série d’articles depuis le début, j’espère que ce script parle de lui-même… Notez quand même que ce script demande une version de Ruby supérieure ou égale à 2.0, ou alors il faudra ajouter un commentaire magique pour spécifier l’encodage utf-8.

Maintenant, comment appliquer ce script à chacun des articles. J’ai choisi d’utiliser une boucle en Bash:

1
[~]for i in *.markdown; do ruby -p -i script.rb $i; done

Si vous avez besoin d’explications sur cette ligne de commande, je vous renvoie à ces articles:

À demain.

Articles connexes

Commentaires