[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Linux-31] [SED] Numéro de ligne en préfixe
Salut Pierre,
Le 26/02/2020 à 22:23, Pierre ESTREM (via linux-31 Mailing List) a écrit :
> Le "=;" permet d'afficher le numéro de ligne mais la commande affiche
> aussi les lignes ne répondant pas aux DEUX MOTIFS.
> Comment exclure ces lignes "vides" (avec des blocs {} je n'y parviens
> pas) ?
>
> Merci
>
> pierre estrem
Le problème du "=" dans sed c'est qu'il affiche le numéro de ligne sur
une ligne à part et qu'il faut ensuite jouer avec des moulinettes pour
un affichage mieux formaté. Sans compter ce problème de lignes
supplémentaires qui s'ajoutent.
J'ai essayé de n'appliquer la numérotation qu'aux lignes comprenant les
motifs recherchés, mais c'est pareil ;-(
Ce que je te propose, c'est d'ajouter une commande (nl pour ne pas la
citer) à intercaler entre la sortie de "pacmd" et de "sed".
Voilà un exemple de ce que ça donne chez moi :
$ pacmd list-cards | nl | sed -n 's/[[:digit:]]*\tname:
<\(.*\)>$/\1/p;s/[[:digit:]]*\t\t\(output:[^:]\+\).*$/\1/p'
3 alsa_card.pci-0000_00_1f.3
25 output:analog-stereo
26 output:analog-stereo+input
27 output:hdmi-stereo
28 output:hdmi-stereo+input
29 output:hdmi-surround
30 output:hdmi-surround+input
[…]
En espérant que ça fasse ce que tu veux ;-)
Bonne journée à tous et à toutes.
JP