shell-script-pt
[Top][All Lists]
Advanced

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

Re: [shell-script] retorno de comando para variavel


From: phfbettega
Subject: Re: [shell-script] retorno de comando para variavel
Date: Fri, 25 Nov 2016 15:17:07 -0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0

É verdade tem uma aspas sobrando ali.
> awk: /joanesetin/ {print $1" "$3";exit}
> awk:                            ^ unterminated string

O que eu pensei foi isso

[root@mclaren ~]# /usr/dlc113/bin/proshut /bancos/Producao/totvs12/eai -C list |
awk -F " " '/joanesetin/ {print $8" "$1;exit}'

Nas linhas onde aparece joanesetin imprima os campos 8(nome?) e 1(código?),
e encerre logo depois de imprimir.

Se houver uma linha com joanesetin e tty ela deve ser evitada?
Daí o teste pode ser /joanesetin/ && !/tty/



On 25-11-2016 14:43, Kleyton Maia address@hidden [shell-script] wrote:


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>
--------------------------------------------------------------------------------------------------------------


reply via email to

[Prev in Thread] Current Thread [Next in Thread]