* [gentoo-user-br] MEIO OFF: Como simplificar este comando?
@ 2010-12-15 9:54 Laércio Benedito Sivali de Sousa
2010-12-15 11:00 ` Dalton Barreto
0 siblings, 1 reply; 5+ messages in thread
From: Laércio Benedito Sivali de Sousa @ 2010-12-15 9:54 UTC (permalink / raw
To: Lista de discussão gentoo-user-br
[-- Attachment #1: Type: text/plain, Size: 675 bytes --]
Olá pessoal!
Esta pergunta não é exatamente específica sobre Gentoo, mas sim sobre Linux
em geral.
Tenho o seguinte problema: quero fazer uma filtragem dos usuários
disponíveis no sistema e listá-los em uma linha, separados por vírgula, ou
seja, Se existem, no sistema, os usuários user1, user2 e user3, quero obter
a seguinte saída:
user1, user2, user3
Uma solução que eu encontrei foi a seguinte:
#!/bin/bash
USERS=$(awk -F: '$3 > 999 && $3 < 65534 {print $1}' /etc/passwd)
USERS=$(echo ${USERS} | sed -e 's/ /, /g')
Gostaria de saber se algum de vocês poderia encontrar uma solução mais
simples para isso.
Obrigado!
Laércio
[-- Attachment #2: Type: text/html, Size: 748 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gentoo-user-br] MEIO OFF: Como simplificar este comando?
2010-12-15 9:54 [gentoo-user-br] MEIO OFF: Como simplificar este comando? Laércio Benedito Sivali de Sousa
@ 2010-12-15 11:00 ` Dalton Barreto
2010-12-15 11:18 ` Júlio Cesar Bueno Cotta
0 siblings, 1 reply; 5+ messages in thread
From: Dalton Barreto @ 2010-12-15 11:00 UTC (permalink / raw
To: gentoo-user-br
Em 15 de dezembro de 2010 07:54, Laércio Benedito Sivali de Sousa
<lbsousajr@gmail.com> escreveu:
> Olá pessoal!
>
> Esta pergunta não é exatamente específica sobre Gentoo, mas sim sobre Linux
> em geral.
>
Uma mensagem sobre linux de vez em quando é válido. =D
> Tenho o seguinte problema: quero fazer uma filtragem dos usuários
> disponíveis no sistema e listá-los em uma linha, separados por vírgula, ou
> seja, Se existem, no sistema, os usuários user1, user2 e user3, quero obter
> a seguinte saída:
>
> user1, user2, user3
>
> Uma solução que eu encontrei foi a seguinte:
>
> #!/bin/bash
> USERS=$(awk -F: '$3 > 999 && $3 < 65534 {print $1}' /etc/passwd)
> USERS=$(echo ${USERS} | sed -e 's/ /, /g')
>
> Gostaria de saber se algum de vocês poderia encontrar uma solução mais
> simples para isso.
>
Mais simples eu não sei se realmente é. =) Digamos apenas que é mais "limpa".
Não sei o porque da separação pela vírgula, mas se fosse separar
apenas por espaço você poderia apenas adicionar um "| xargs" no fim do
primeiro comando.
awk -F: '$3 > 999 && $3 < 65534 {print $1}' /etc/passwd | xargs
Se ainda sim quiser colocar as vírgulas adicione a parte que já tinha
no sed no final desse último comando.
Espero ter ajudado.
Abraços,
--
Dalton Barreto
http://daltonmatos.wordpress.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gentoo-user-br] MEIO OFF: Como simplificar este comando?
2010-12-15 11:00 ` Dalton Barreto
@ 2010-12-15 11:18 ` Júlio Cesar Bueno Cotta
2010-12-15 17:27 ` Pablo Hess
0 siblings, 1 reply; 5+ messages in thread
From: Júlio Cesar Bueno Cotta @ 2010-12-15 11:18 UTC (permalink / raw
To: gentoo-user-br
[-- Attachment #1: Type: text/plain, Size: 1843 bytes --]
hehe, se fosse eu ..eu simplesmente daria um ls no /home..mas ai seria uma
heuristica bem fuleira..
:p
Bom que aprendi um pouco sobre awk :D
Júlio Cesar Bueno Cotta
Bacharel em Ciência da Computação pela UFV
Professor do IFMG extensão João Monlevade.
Em 15 de dezembro de 2010 09:00, Dalton Barreto <daltonmatos@gmail.com>escreveu:
> Em 15 de dezembro de 2010 07:54, Laércio Benedito Sivali de Sousa
> <lbsousajr@gmail.com> escreveu:
> > Olá pessoal!
> >
> > Esta pergunta não é exatamente específica sobre Gentoo, mas sim sobre
> Linux
> > em geral.
> >
>
> Uma mensagem sobre linux de vez em quando é válido. =D
>
> > Tenho o seguinte problema: quero fazer uma filtragem dos usuários
> > disponíveis no sistema e listá-los em uma linha, separados por vírgula,
> ou
> > seja, Se existem, no sistema, os usuários user1, user2 e user3, quero
> obter
> > a seguinte saída:
> >
> > user1, user2, user3
> >
> > Uma solução que eu encontrei foi a seguinte:
> >
> > #!/bin/bash
> > USERS=$(awk -F: '$3 > 999 && $3 < 65534 {print $1}' /etc/passwd)
> > USERS=$(echo ${USERS} | sed -e 's/ /, /g')
> >
> > Gostaria de saber se algum de vocês poderia encontrar uma solução mais
> > simples para isso.
> >
>
> Mais simples eu não sei se realmente é. =) Digamos apenas que é mais
> "limpa".
>
> Não sei o porque da separação pela vírgula, mas se fosse separar
> apenas por espaço você poderia apenas adicionar um "| xargs" no fim do
> primeiro comando.
>
> awk -F: '$3 > 999 && $3 < 65534 {print $1}' /etc/passwd | xargs
>
> Se ainda sim quiser colocar as vírgulas adicione a parte que já tinha
> no sed no final desse último comando.
>
> Espero ter ajudado.
>
> Abraços,
>
> --
> Dalton Barreto
> http://daltonmatos.wordpress.com
>
>
[-- Attachment #2: Type: text/html, Size: 2501 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gentoo-user-br] MEIO OFF: Como simplificar este comando?
2010-12-15 11:18 ` Júlio Cesar Bueno Cotta
@ 2010-12-15 17:27 ` Pablo Hess
2010-12-15 17:32 ` Pablo Hess
0 siblings, 1 reply; 5+ messages in thread
From: Pablo Hess @ 2010-12-15 17:27 UTC (permalink / raw
To: gentoo-user-br
Este aqui não é exatamente **limpo**, mas funciona até com usuários
remotos (porque usa o comando getent):
echo $( getent passwd | cut -f1 -d':' ) | sed 's/ /, /g'
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [gentoo-user-br] MEIO OFF: Como simplificar este comando?
2010-12-15 17:27 ` Pablo Hess
@ 2010-12-15 17:32 ` Pablo Hess
0 siblings, 0 replies; 5+ messages in thread
From: Pablo Hess @ 2010-12-15 17:32 UTC (permalink / raw
To: gentoo-user-br
> echo $( getent passwd | cut -f1 -d':' ) | sed 's/ /, /g'
Melhor ainda: economize 1 processo (retire o cut):
echo $( getent passwd | sed 's/:.*$/, /' )
Abraços,
Pablo
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-12-15 17:32 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-15 9:54 [gentoo-user-br] MEIO OFF: Como simplificar este comando? Laércio Benedito Sivali de Sousa
2010-12-15 11:00 ` Dalton Barreto
2010-12-15 11:18 ` Júlio Cesar Bueno Cotta
2010-12-15 17:27 ` Pablo Hess
2010-12-15 17:32 ` Pablo Hess
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox