Paulo,
Seria o $1 nome e $3 o código da conexão, coloquei em substituição ao meu e deu
o seguinte erro:
awk: /joanesetin/ {print $1" "$3";exit}
awk: ^ unterminated string
será que digitei alguma syntaxe errada ai ?
_________________
Cordialmente;
Kleyton Maia
--------------------------------------------------------------------------------------------------------------
*De:* "address@hidden [shell-script]" <address@hidden>
*Para:* address@hidden
*Enviadas:* Sexta-feira, 25 de Novembro de 2016 14:37
*Assunto:* Re: [shell-script] retorno de comando para variavel
Olá Kleyton, o campo $8 é o nome e o $1 é o código?
Veja se só com awk resolve
awk -F " " '/joanesetin/ {print $8" "$1";exit}'
Abraços Paulo
On 25-11-2016 14:09, Kleyton Maia address@hidden [shell-script] wrote:
Pessoal pro nome deu certo dessa forma: (com o sort no final diogo)
Porem para o codigo da conexão que vem na posição $3 do awk nao deu resultado
com o sort-u ou sem vem os dois
códigos ou seja a rotina se perde ainda :
[root@mclaren ~]# /usr/dlc113/bin/proshut /bancos/Producao/totvs12/eai -C list |awk -F " "
'{print $8" "$6"
"$1}'|grep -v tty|sort | grep joanesetin |awk '{print $1}'| sort -u
joanesetin
[root@mclaren ~]# /usr/dlc113/bin/proshut /bancos/Producao/totvs12/eai -C list |awk -F " "
'{print $8" "$6"
"$1}'|grep -v tty|sort | grep joanesetin |awk '{print $3}'| sort -u
105
90
Dai a rotina se perde e nao derruba ninguém ;(, alguma luz ?
_________________
Cordialmente;
Kleyton Maia
----------------------------------------------------------
*De:* "Diogo Aguiar address@hidden [shell-script]" <address@hidden>
*Para:* address@hidden
*Enviadas:* Sexta-feira, 25 de Novembro de 2016 13:59
*Assunto:* Re: [shell-script] retorno de comando para variavel
Kleyton.
Fiz uns testes no banco progress que tenho internamente aqui na empresa e
sugiro que coloque o sort no final
/usr/dlc113/bin/proshut /bancos/Producao/totvs12/eai -C list |awk -F " " '{print $8"
"$6" "$1}'|grep -v
tty|sort | grep joao |awk '{print $1}'
joao
joao
/usr/dlc113/bin/proshut /bancos/Producao/totvs12/eai -C list |awk -F " " '{print $8"
"$6" "$1}'|grep -v tty |
grep joao |awk '{print $1}'| sort -u
joao
joao
n
2016-11-25 13:39 GMT-02:00 Kleyton Maia address@hidden <mailto:address@hidden>
[shell-script] <address@hidden <mailto:address@hidden>>:
__
Boa tarde,
Mestre julio entendi poderia ter explicado melhor me desculpe, é o segundo caso
que como você escreveu:
ele retorna assim:
prompt$comando
joao
joao
promptt$
[root@mclaren ~]# /usr/dlc113/bin/proshut /bancos/Producao/totvs12/eai -C list |awk -F "
" '{print $8"
"$6" "$1}'|grep -v tty|sort | grep joao |awk '{print $1}'
joao
joao
[root@mclaren ~]#
Obrigado!
_________________
Cordialmente;
Kleyton Maia
----------------------------------------------------------
*De:* "'Julio C. Neves' address@hidden <mailto:address@hidden> [shell-script]"
<address@hidden. br <mailto:address@hidden>>
*Para:* "address@hidden. br <mailto:address@hidden>"
<address@hidden. br <mailto:address@hidden>>
*Enviadas:* Sexta-feira, 25 de Novembro de 2016 11:41
*Assunto:* Re: [shell-script] retorno de comando para variavel
Mande um exemplo completo de retorno para podermos avaliar a resposta.
Se vc tem, como diz, "joa joao", é mais complicado, mas se vc tem "joao joao" é
mole:
$ echo joao joao | tr ' ' '\n' | sort | uniq
joao
Mas se sua saída for:
joao
joao
Nem precisa do tr, mas se for joao da silva joao da silva, complica.
Como vc vê, cada caso é um caso. Então sem um exemplo real, fica difícil
Abcs,
Julio
*@juliobash*
*
Próximos cursos de Shell*
*Cidade LocalPeríodo*
**
*São Paulo 4Linux
<https://www.4linux.com.br/curso/programacao-em-shell-script>05*
*-09/12*
**
Dou treinamento de /Shell/em qualquer cidade.
Para mais detalhes, me mande um e-mail <mailto:address@hidden>.
2016-11-25 11:20 GMT-02:00 Kleyton Maia address@hidden <mailto:address@hidden>
[shell-script] <address@hidden. br <mailto:address@hidden>>:
__
Bom dia ,
Pessoal tenho um script que derruba usuários do banco progress em linux,
Ele funciona corretamente para 01 conexão. Porem por vezes quando o usuário tem
mais de 01 conexão
esse comando me retorna o nome do usuário duas vezes e com isso ele não derruba
ninguém... pois fica
"joa joao" que é diferente de "joao"
Ex:
dlc= comando para derrubar
banco = nome do banco
nome = nome do usuario que digitou
unomebanco=$("$dlc" "$1"/"$banco" -C list |awk -F " " '{print $8" "$6"
"$1}'|grep -v tty|sort | grep
$nome |awk '{print $1}')
A pergunta seria como fazer pra esse awk me retornar somente 01 nome e nao os
dois que ele acha nas
conexões ?
Obrigado pela força.
_________________
Cordialmente;
Kleyton Maia
----------------------------------------------------------
Enviado por: Kleyton Maia <address@hidden>
----------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
Enviado por: Kleyton Maia <address@hidden>
--------------------------------------------------------------------------------------------------------------