script em Linux /etc/passwd

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

script em Linux /etc/passwd

Mensagempor L_S_D » Quarta Mai 24, 2006 22:18

Olá pessoal!
Queria fazer um script para procurar o meu login em /etc/passwd,
E mostrar o meu login, e os três logins que se encontram a seguir ao meu, num ficheiro HTML (chamado logins.html). Eu sei que é relativamente simples, mas estou com problemas e não consigo encontrar o erro… :?
Se alguém me pudesse ajudar ficava muito agradecido.
Desde já obrigado pela ajuda! :P
L_S_D
Novato
Novato
 
Mensagens: 10
Registado: Domingo Dez 05, 2004 3:22

Mensagempor SuperMegaMau » Quinta Mai 25, 2006 14:47

Código: Seleccionar todos
cat /etc/passwd |grep login -A1 -B1|cut -d: -f1 > logins.html
Imagem
Avatar do Utilizador
SuperMegaMau
Membro de Prata
Membro de Prata
 
Mensagens: 187
Registado: Domingo Ago 29, 2004 15:23

Mensagempor SuperMegaMau » Sexta Mai 26, 2006 12:51

bem, afinal parece que percebi mal a pergunta, o script acima mostra o teu login e o login antes e o login depois (-A1 = 1 linha after) (-B1 = 1 linha before). Por isso para listar os 3 seguintes, será apenas -A3 ficando:
Código: Seleccionar todos
cat /etc/passwd |grep login -A3|cut -d: -f1 > logins.html
Imagem
Avatar do Utilizador
SuperMegaMau
Membro de Prata
Membro de Prata
 
Mensagens: 187
Registado: Domingo Ago 29, 2004 15:23

Esta parte já consegui!

Mensagempor L_S_D » Sábado Mai 27, 2006 17:48

Obrigado pela ajuda! Esta parte já consegui, mas optei por utilizar esta linha de código,
grep -A 3 `whoami` /etc/passwd
ja que a outra me estava a mostrar para além dos logins, informaçao que eu não necessitava! Mas agora queria por a informação em colunas, na 1ª coluna o login, na 2ª o user associado a esse login, e na 3ª o Home directorie desse login.
Desculpem se estou a ser mto incómodo, mas preciso mesmo de fazer isto, e não sei como lhe hei-de pegar! :?
Obrigado desde ja pela ajuda! :D
L_S_D
Novato
Novato
 
Mensagens: 10
Registado: Domingo Dez 05, 2004 3:22

Tá quase!

Mensagempor L_S_D » Sábado Mai 27, 2006 18:53

Já consegui fazer este código, agora só me falta gravar no ficheiro logins.html, já fiz várias tentativas mas ainda não consegui :?
Acho que este vai ser o meu ultimo pedido de "socorro" :D

codigo:
#!/bin/sh
myself=`whoami`
first=`grep "$myself" -A 3 /etc/passwd | awk -F: '{print $1}'`
second=`grep "$myself" -A 3 /etc/passwd | awk -F: '{print $3}'`
third=`grep "$myself" -A 3 /etc/passwd | awk -F: '{print $6}'`
echo "<table>"
echo "<tr>"
echo "<td>"
echo "$first"
echo "</td>"
echo "<td>"
echo "$second"
echo "</td>"
echo "<td>"
echo "$third"
echo "</td>"
echo "</tr>"
echo "</table>"
exit 0
L_S_D
Novato
Novato
 
Mensagens: 10
Registado: Domingo Dez 05, 2004 3:22

Mensagempor SuperMegaMau » Sábado Mai 27, 2006 23:27

Se esse código faz o que tu queres, então só te falta redireccionar isso para o ficheiro. As linhas que queres que sejam gravadas no ficheiro deves adicionar ">>" e à frente o login.

ex: echo "<table>" >> logins.html

se usares apenas ">" todo o conteudo do ficheiro é substituido pelo novo conteúdo. Se usares ">>", o novo conteúdo é adicionado no fim do ficheiro.
Imagem
Avatar do Utilizador
SuperMegaMau
Membro de Prata
Membro de Prata
 
Mensagens: 187
Registado: Domingo Ago 29, 2004 15:23


Voltar para Programação

Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 8 visitantes

cron