Pierre ESTREM, on 2020-03-22 23:34:28 +0100: > Je tente des tests de profiles de cartes son et j'ai besoin de les stocker > sous forme de tableau comme ceci : > > carte1 sortie1 > carte1 sortie2 > carte1 sortie3 > carte2 sortie1 > carte2 sortie2 > carte3 sortie1 > > Je fais ceci : > > pacmd list-cards | sed -n 's/^\tname: <\(.*\)>$/\1/p; > s/^\t\+output:\([^:]\+\).*$/\1/p' > > Ainsi je n'ai pas les paires "cartes/sorties" mais tout est en ligne... > > Avec des boucles je ne m'en sors pas et j'ai une peur de awk. > > Quelqu'en saurait-il faire cela ? Bonsoir, Je suppose que c'est possible de faire plus simple. Mais avec du code awk malheureusement j'ai ceci, qui m'a l'air de produire une sortie comme vous semblez espérer l'obtenir : pacmd list-cards \ | awk ' /^\tname: <.*>$/ { split($0, name, "<|>"); } /^\t+output:/ { split($0, output, ":"); printf "%-31s %-s\n", name[2], output[2] }' Le premier match enregistre le nom de la carte dans le second champ deux du tableau name. Le second match extrait chaque sorties son dans le champ deux du tableau output, puis affiche ladite sortie, préfixée du nom de la carte. Ça devrait bien marcher tant que "name:" apparait en premier, et que le nom de la carte ne contient pas de chevrons. Amicalement, -- Étienne Mollier <etienne.mollier@mailoo.org> Fingerprint: 5ab1 4edf 63bb ccff 8b54 2fa9 59da 56fe fff3 882d Et Hip, Hip, Hip, Hourra ! Pour le personnel infirmier ! \o/
Attachment:
signature.asc
Description: PGP signature