De l’édition de flux

Hier soir, Vivien me demandait quelles étaient les 5 astuces qui rendent mon système d’exploitation terrible. Après avoir présenté les possibilités de l’historique (history(3)), j’avais parlé de ce qui constitue un de mes éditeurs de choix : sed(1). Je vais en présenter rapidement quelques fonctions parmi les plus utiles :

  • sed -n 123p fichier : affiche la 123ème ligne d’un fichier.
  • sed -i.bak s/motif/remplacement/ fichier : effectue la substitution demandé, en gardant une sauvegarde sous la forme fichier.bak.
  • sed -i 12d fichier : efface la 12ème ligne
  • sed -i d/motif/ fichier : efface toute les lignes contenant motif.
  • sed -i -r 's/(^.*motif.*)/# \1/ fichier : commente les lignes contenant motif.
  • sed -n 148,150s/sd/hd/p fichier : devinez :)

Voilà :)

En fait, vous aurez remarqué que la substitution que je propose pour commenter les lignes n’est pas très élégante si appliquée à une partie d’un fichier (en utilisant les sélecteurs n,m. J’ai eu l’occasion de m’en rendre compte et je me suis décidé à opter pour cette substitution : sed -ir 's,^[^//](.*),// \1,'. Attention, dans mon cas de figure, le caractère permettant de mettre en commentaire étant /, pour éviter de l’échapper et de rendre le bazar illisible, j’ai opté pour l’utilisation de , comme séparateur.

Tagcloud
Ubuntu automontage kernel authentification orgcamp NetworkManager Internet identification PSL Science-Fiction JDLL postfix Opinions Gentoo Éducation Iptables OSM rubber sympa GNU-Linux Educ Libre PlanetUbuntuFr PlanetUbuntu nfs UbuntuFr Mathématiques auto hébergement Python compilation dovecot Mozilla Mandriva Emacs Perso eCryptfs April Drupal beamer automatisation shell DNS Voile Mutt orgmode Société LDAP Réflexions SNCF configuration Épinay redmine sqlite php CAPES Spam OpenVPN CPL dotclear ISN vélo mail installation OpenSSL GCC X.org sudo ArchLinux fail vserver IPv6 Debian Coups de gueule LaTeX Admin Sys Free Parinux RaspberryPi Vie numérique Essai sieve gpg vim fun Randonnée SPF OpenStack Informatique Coup de gueule Lectures Paris Web imap RATP Technique CLI code KDE roundcube Munin