Accéder au contenu.
Menu Sympa

linux-31 - Re: [Linux-31] [SED] Numéro de ligne en préfixe

Objet : Discussions sur le logiciel libre

Archives de la liste

Re: [Linux-31] [SED] Numéro de ligne en préfixe


Chronologique Discussions 
  • From: jpcas <jpcas AT free.fr>
  • To: linux-31 AT culte.org
  • Subject: Re: [Linux-31] [SED] Numéro de ligne en préfixe
  • Date: Thu, 27 Feb 2020 08:27:37 +0100

Re-

Le 26/02/2020 à 22:23, Pierre ESTREM (via linux-31 Mailing List) a écrit :
> Comment exclure ces lignes "vides" (avec des blocs {} je n'y parviens
> pas) ?

Si tu le veux exclusivement avec "sed" (sans autre commande), ceci
devrait le faire :

$ pacmd list-cards | sed -n '/^\tname: / {=;s/^\tname:
<\(.*\)>$/\1/p};/^\t\t\output:/{=;s/^\t\t\(output:[^:]\+\).*$/\1/p}' |
sed 'N;s/\n/ /'

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
31 output:hdmi-surround71
[…]

La commande "sed" (la 1ère) en plus lisible donne ça :

#n
/^\tname: / {
=
s/^\tname: <\(.*\)>$/\1/p
}
/^\t\t\output:/ {
=
s/^\t\t\(output:[^:]\+\).*$/\1/p
}


Bonne continuation…


@+
JP



Archives gérées par MHonArc 2.6.19+.

Haut de le page