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

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

Re: AWK


From: marcos_laureano
Subject: Re: AWK
Date: Tue, 29 Jan 2002 13:15:43 -0000
User-agent: eGroups-EW/0.82

Pelo que entendi do seu e-mail, basta você colocar uma barra (\) 
antes do apostrofo. O apostrofo tem um signficado especial para o 
bash e ksh e se você colocar uma barra na frente, irá desabilitar 
este significado.

Marcos
--- In shell-script@y..., Shell Script <shell-script@g...> wrote:
> Ola pessoal,
> 
> estou tentando gerar uma listagem de todos os usuarios de um 
servidor com 
> qmail. Ele lista o diretorio, pega o arquivo vpasswd e lista os 
usuario. O 
> primeiro script gera um novo script, com o nome dos dominios e 
um "awk" 
> para listar os usuarios.
> 
> Existem outras formas de fazer isso, porem sempre enfrentei este 
problema 
> do apostrofo e nao consegui soluciona-lo!!! E sempre que estou 
fazendo meus 
> scripts acabo chegando neste ponto!!!
> 
> A linha abaixo:
> 
> ls -l|grep ^drw|awk {'print "echo Dominio: "$9" \>\> emails\necho 
\" \" 
> \>\> emails\necho Emails: \>\> emails\necho \" \" \>\> emails\ncat 
> "$9"\/vpasswd|awk -F \"\:\" {print \$1} \>\> emails\necho \" \" 
\>\> 
> emails\necho \" \" \>\> emails\n"'} > script2
> 
> gera um arquivo do tipo:
> 
> echo Dominio: tudo.com >> emails
> echo " " >> emails
> echo Emails: >> emails
> echo " " >> emails
> cat tudo.com/vpasswd|awk -F ":" {print $1} >> emails
> echo " " >> emails
> echo " " >> emails
> 
> echo Dominio: teste.com.br >> emails
> echo " " >> emails
> echo Emails: >> emails
> echo " " >> emails
> cat teste.com.br/vpasswd|awk -F ":" {print $1} >> emails
> echo " " >> emails
> echo " " >> emails
> 
> Obs: O arquivo emails contem o resultado final dos e-mails por 
dominio.
> 
> 
> Como podem perceber, ele gerou a linha do awk da seguinte forma:
> 
> awk -F ":" {print $1} >> emails
> 
> Quando o correto é:
> 
> awk -F ":" {'print $1'} >> emails
> 
> Se eu coloco o " ' " na primeira linha, ele quebra entendo que 
chegou ao final.
> 
> Para alterar, eu edito o arquivo "script2" com o "vi", e utilizo os 
> seguinte comandos:
> 
> 1,$ s/{/{'/g
> 
> 1,$ s/}/'}/g
> 
> Porém, tentei utilizar as linhas acima com o "sed", e ocorreu o 
mesmo 
> problema, ele quebou a linha.
> 
> Poderia ajudar???
> 
> Obrigado!!!
> 
> 
> --------------------------------------
> --------------------------------------
> Marcelo Brunner
> brunner@g...
> intermitentes@i...


reply via email to

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