[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Doublets cartes/sorties



Bonsoir Etienne et le monde libre...

Aïe, il y a des chevrons qui encadrent le nom des cartes.
J'ai des erreurs avec ton code, mais je vous remercie de votre participation.

J'ai une horreur de 'awk' (c'est ma faute).
J'ai avancé avec la solution sed mais je dois passer ensuite par des boucles for.

A suivre

pierre estrem



Le 23/03/2020 à 20:46, Étienne Mollier a écrit :
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,


Reply to: