Supprimer 1 ligne sur 3 d’un fichier

Pour supprimer la 2e ligne, puis la 5e ligne, puis les lignes 2+3k de tout un fichier, la commande sed permet de le faire en moins d’une seconde.

sed -i '2~3d' mon-fichier

Si on décortique la commande :

  • -i : option qui permet de modifier directement le fichier
  • 2 est le numéro de la première ligne à supprimer
  • 3 est l’intervalle entre deux lignes à supprimer
  • d signifie delete (supprimer)

De même on peut supprimer les lignes 2, 4, puis 2k (c’est-à-dire les lignes paires) en utilisant la commande :

sed -i '2~2d' mon-fichier

Sources