Você pode substituir o texto exibido por algo mais na janela de comando?

0

Estou tentando gerenciar contas de usuário. Eles são basicamente apenas números, mas eu preferiria ver os sobrenomes dos usuários na tela. É possível substituir automaticamente o texto exibido por outra coisa?

Por exemplo, quando vou para /home/users e digito ls-al , posso ver de alguma forma:

Smith
Johnson
Adams
Andrews

em vez de

001 
002 
003 
004

ou posso de alguma forma ver os dois?

001 "Smith"
002 "Johnson"
003 "Adams"
004 "Andrews"
    
por lazy8s 12.10.2015 / 21:59

1 resposta

1

Se bem entendi, você nomeou todos os seus usuários por número e deseja ver o sobrenome deles.

Onde seus últimos nomes são armazenados? em outras palavras, você precisa fazer algum tipo de correlação entre os nomes e números; onde está a fonte dessa informação?

Supondo que você tenha alguma lista mestre que correlacione NUMBER a LAST-NAME, você pode configurar um frontend ls para você mesmo. Por exemplo:

Se você tiver um arquivo "usernames.list":

001 Smith
002 Johnson
003 Adams
004 Andrews

Em seguida, você pode escrever um loop que reimplementa ls , mas com correlação entre sua lista e as chaves encontradas em / home:

for DIR in * ; do fgrep ${DIR} /path/to/usernames.list ; done

Qual imprimiria:

001 Smith
002 Johnson
003 Adams
004 Andrews

Se sua lista de usuários for mais complexa do que os pares de chave / valor, você poderá usar cut para analisar as informações como desejar.

Para o registro, essa não é a maneira padrão de gerenciar usuários.

Os usuários em um sistema POSIX já têm identificadores exclusivos (o ID do usuário, consulte o comando id ), portanto nomear todos os seus usuários de forma incremental a partir de 001 definitivamente não é o ideal.

    
por 13.10.2015 / 00:23