Etapas do pipeline, a saída do comando anterior é usada como entrada para o próximo:
-
ls -l /projects/ghosttraillistam o conteúdo do diretório (não começa com ponto) com detalhes. -
tail -n +2output começando com a linha 2 (remove a primeira linha). Sem+,tailmostraria 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 3obtém o terceiro campo (nome de usuário). -
sort | uniq -csort e conta linhas exclusivas.sorté usado porqueuniqnã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.