Encontre um índice específico a partir da saída da linha de comando

-1

A seguir, o comando que localiza os sumidouros totais de pulseAudio:

pactl list short sinks

Saída:

0   alsa_output.pci-0000_00_1b.0.hdmi-stereo    module-alsa-card.c  s16le 2ch 44100Hz   RUNNING
1   alsa_output.usb-0d8c_C-Media_USB_Audio_Device-00-Device.analog-stereo   module-alsa-card.c  s16le 2ch 44100Hz   RUNNING
3   bluez_sink.94_CE_2C_FA_8B_B1    module-bluetooth-device.c   s16le 1ch 8000Hz    IDLE

Então eu uso o seguinte comando para encontrar os sumidouros específicos:

pactl list short sinks | grep "C-Media_USB_Audio_Device"

saída:

1   alsa_output.usb-0d8c_C-Media_USB_Audio_Device-00-Device.analog-stereo   module-alsa-card.c  s16le 2ch 44100Hz   RUNNING

Isso imprime o nome específico do coletor com o índice. Eu quero armazenar este índice 1 na variável para que eu possa usá-lo na minha outra lógica.

    
por Prakash V Holkar 28.04.2014 / 07:03

1 resposta

1

Acho que é isso que você está procurando,

$ var=$(pactl list short sinks | awk '$2=="alsa_output.usb-0d8c_C-Media_USB_Audio_Device-00-Device.analog-stereo" {print $1}')
$ echo $var
1
    
por Avinash Raj 28.04.2014 / 08:35