Estou tentando pegar linhas do grep e classificá-las em outro comando, o comando que estou usando para grepping atm é o seguinte (ainda não foi cortado o suficiente para o que eu vou usá-lo, mas isso dá melhor contexto):
iwlist wlan0 scanning | grep -oE '(ESSID:|Quality=|Encryption Key:).*'
A saída é assim (mas será alterada dependendo da localização do meu computador):
Quality=64/70 Signal Level=-49dBm
Encryption key:on
ESSID:"Hringdu_20558"
Quality=61/70 Signal Level=-48 dBm
Encryption key:on
ESSID:"SiminnEBE932"
Quality=30/70 Signal Level=-71 dBm
Encryption key:on
ESSID:"Siminn106C46
Quality=28/70 Signal Level=-83 dBm
Encryption key:on
ESSID:"SiminnECC63F"
Eu quero usar essas linhas individualmente para executar outro comando
$ssid=$(zenity --list --text "Available Networks" --list --column "ESSID" --column "Secure" --column "Signal" "$ESSID" "$ENC" "$Signal");
Estes são os começos de um prompt de seleção de rede sem fio rapidinha. $ ESSID / $ ENC / $ Signal seria baseado na saída do grep anterior, então o que eu preciso fazer essencialmente depois de trabalhar com o grep é um pouco mais parecido com isso no final depois de cortá-lo com o comando cut / awk / sed:
91%
on
Hringdu_20558
(nota: recebo a porcentagem multiplicando 64 por 10 e depois dividindo por 7; 64 * 10/7)
É aplicar essas linhas recursivamente para cada ESSID detectado no comando zenity via script. E para adicionar aos problemas; Como você pode notar que a saída do grep está em ordem reversa do comando zenity, então isso significa que "Hringdu_20558" teria que ir primeiro, e "87%" teria que ser o último.
Em outras palavras, neste cenário específico, eu preciso de alguma forma pegar a terceira linha da saída do grep, e anexá-la ao outro comando, depois trabalhar as duas linhas anteriores e repetir isso na terceira linha depois da linha Eu comecei até que não houvesse mais linhas.
Em essência, o comando final do zenity deve ser parecido com algo baseado nas saídas acima:
$ssid=$(zenity --list --text "Available Networks" --list --column "ESSID" --column "Secure" --column "Signal" "Hringdu_20558" "on" "91%" "SiminnEBE932" "on" "87%" "Siminn106C46" "on" "43%" "SiminnECC63F" "on" "40%");
Como posso fazer isso? Pode ser feito apenas com scripts básicos de shell?