Le mercredi 28 juin 2006 22:42, Bayrouni a écrit : > Bonsoir, > > J'ai un fichier contenant des groupes de lignes, les groupes > étant séparés entre eux par une ligne vide. > Voici un exemple: > > fichier1 > fichier2 > fichier3 > > fichier4 > fichier23 > > > fichier12 > fichier442 > fichier388 > fichier543 > > Comment faire en bash pour ne retenir que la première ligne > de chaque groupe de lignes. > > Dans mon exemple celà donnerait: > > fichier1 > fichier4 > fichier12 > > Merci
Avec /tmp/test le fichier d'exemple : [EMAIL PROTECTED]:~$ perl -ne 'print if ($a!=1 && !m/^$/); $a=1; $a=0 if (m/^$/)' /tmp/test fichier1 fichier4 fichier12 [EMAIL PROTECTED]:~$ Tu peux aussi y "piper" la sortie d'une commande : [EMAIL PROTECTED]:~$ cat /tmp/test | perl -ne 'print if ($a!=1 && !m/^$/); $a=1; $a=0 if (m/^$/)' fichier1 fichier4 fichier12 [EMAIL PROTECTED]:~$ Bon, ce n'est pas du "bash pur", mais : - c'est utilisable dans un script shell - tu as 99,99% de chances de trouver perl sur une Debian, étant donné qu'il fait parti de la "base" -- Florent
pgpCfMXroyhrR.pgp
Description: PGP signature