Aqui está uma solução python
:
#!/usr/bin/env python2
import sys
with open('/etc/passwd') as f:
for line in f:
if line.startswith(sys.argv[1] + ':'):
parts = line.rstrip().split(':')
print 'Username: ' + parts[0] + '\n' + 'User ID: ' + parts[2].rstrip()
print 'Group ID: ' + parts[3] + '\n' + 'Shell: ' + parts[6].rstrip()
print 'Directory: ' + parts[5].rstrip()
Você pode colocar todas as instruções print
em uma única linha, para melhor visualização, eu a coloquei em várias linhas. Guarde isto como um ficheiro, por ex. %código%. Execute o script fornecendo o nome de usuário como o primeiro argumento para o script. Por exemplo:
python username.py foobar
onde username.py
é o nome de usuário.
Se encontrado, a saída será como:
Username: foobar
User ID: 1000
Group ID: 1000
Shell: /bin/bash
Directory: /home/foobar
-
foobar
lerá cada linha do arquivo line.startswith(sys.argv[1] + ':')
para verificar se começa com o nome de usuário fornecido. O /etc/passwd
garantirá que não selecionamos, e. :
enquanto nosso nome de usuário de entrada é foobarspam
-
Se sim, então foobar
fará uma lista de campos (separados por line.split(':')
) da linha
-
Em seguida, imprimimos os valores indexados desejados da lista junto com a string apropriada.