Etapas do pipeline, a saída do comando anterior é usada como entrada para o próximo:
-
ls -l /projects/ghosttrail
listam o conteúdo do diretório (não começa com ponto) com detalhes. -
tail -n +2
output começando com a linha 2 (remove a primeira linha). Sem+
,tail
mostraria as últimas duas linhas (quantas forem especificadas por-n
, padrão 10 ). -
sed 's/\s\s*/ /g'
substitui vários espaços sequenciais por um único. -
cut -d ' ' -f 3
obtém o terceiro campo (nome de usuário). -
sort | uniq -c
sort e conta linhas exclusivas.sort
é usado porqueuniq
não detecta linhas repetidas, a menos que elas sejam adjacentes, conforme explicado emman uniq
.
Uma maneira alternativa de obter os mesmos resultados usando o GNU find
:
find . -maxdepth 1 -not -name '.*' -printf '%u\n' | sort | uniq
find
lista os nomes dos usuários ( -printf '%u\n'
option) no diretório de trabalho. -maxdepth 1
impede a pesquisa de subdiretórios. -not -name '.*'
exclui arquivos de ponto. sort | uniq
tem o mesmo propósito que no exemplo original.