1 |
Em 15 de dezembro de 2010 07:54, Laércio Benedito Sivali de Sousa |
2 |
<lbsousajr@×××××.com> escreveu: |
3 |
> Olá pessoal! |
4 |
> |
5 |
> Esta pergunta não é exatamente específica sobre Gentoo, mas sim sobre Linux |
6 |
> em geral. |
7 |
> |
8 |
|
9 |
Uma mensagem sobre linux de vez em quando é válido. =D |
10 |
|
11 |
> Tenho o seguinte problema: quero fazer uma filtragem dos usuários |
12 |
> disponíveis no sistema e listá-los em uma linha, separados por vírgula, ou |
13 |
> seja, Se existem, no sistema, os usuários user1, user2 e user3, quero obter |
14 |
> a seguinte saída: |
15 |
> |
16 |
> user1, user2, user3 |
17 |
> |
18 |
> Uma solução que eu encontrei foi a seguinte: |
19 |
> |
20 |
> #!/bin/bash |
21 |
> USERS=$(awk -F: '$3 > 999 && $3 < 65534 {print $1}' /etc/passwd) |
22 |
> USERS=$(echo ${USERS} | sed -e 's/ /, /g') |
23 |
> |
24 |
> Gostaria de saber se algum de vocês poderia encontrar uma solução mais |
25 |
> simples para isso. |
26 |
> |
27 |
|
28 |
Mais simples eu não sei se realmente é. =) Digamos apenas que é mais "limpa". |
29 |
|
30 |
Não sei o porque da separação pela vírgula, mas se fosse separar |
31 |
apenas por espaço você poderia apenas adicionar um "| xargs" no fim do |
32 |
primeiro comando. |
33 |
|
34 |
awk -F: '$3 > 999 && $3 < 65534 {print $1}' /etc/passwd | xargs |
35 |
|
36 |
Se ainda sim quiser colocar as vírgulas adicione a parte que já tinha |
37 |
no sed no final desse último comando. |
38 |
|
39 |
Espero ter ajudado. |
40 |
|
41 |
Abraços, |
42 |
|
43 |
-- |
44 |
Dalton Barreto |
45 |
http://daltonmatos.wordpress.com |