[FUG-BR] Scripts Shell Problemas

Flavio fjcosta em gmail.com
Sexta Abril 27 01:16:33 BRT 2007


Gelsimauro Batista dos Santos wrote:
> Estou tentando colocar os logins e nome de usuarios em um bando de dados em 
> mysql e criei o scripte abaixo para isso. 
> awk -F":" '{ print $1 "\t" $8 }' /etc/master.passwd 
>> /etc/gbs/scripts/testes/users.01
> cat users.01 | awk {'print "mysql -u root -pSenha -e \" use usuarios\; 
> insert into users (Login\,Nome\) values 
> (\""$1"\"\,\""$2" "$3" "$4" "$5" " "\");"'} > users.02 
> 
> quando executo esse script a saido e final é criada no em um arquivo 
> users.02 com o conteudo abaixo: 
> 
> mysql -u root -pSenha -e " use usuarios; insert into users (Login,Nome) 
> values ("maurogbs","Gelsimauro Batista dos Santos "); 
> 
> o problema é que no lugar das aspas duplas gostaria de iserir aspas simples 
> na saida. 
> Como posso fazer isso??? 
> 
> Gelsimauro Batista dos Santos 
> 
> 
> Gelsimauro Batista dos Santos
> 
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> 

Amigo, tente isso:

cat teste.01 | awk -F'\t' '{ printf "mysql -uLogin -pPassword -e \042use 
usuarios; insert into users (Login, Nome) values (\047%s\047, 
\047%s\047);\042\n", $1, $2 }'

Se você mexe com C logo vai entender o raciocínio nesse comando. Se não 
entender, estamos aí para explicar.


Mais detalhes sobre a lista de discussão freebsd