Eu tenho o seguinte comando de terminal:
find /home/not_this/ \! -user not_this_user_account
O objetivo é encontrar todos os arquivos e diretórios que não pertencem ao usuário especificado e esta versão do find
comando funciona muito bem.
No entanto, eu realmente gostaria de retornar o proprietário dos arquivos e diretórios retornados também.
Então:
/home/not_this/test1.html
/home/not_this/test2.html
Retornaria isso:
someone_else /home/not_this/test1.html
someone_else /home/not_this/test2.html
Ou, alternativamente, retorne isso:
/home/not_this/test1.html someone_else
/home/not_this/test2.html someone_else
Como uso o find
comando para retornar os arquivos/diretórios que não pertencem ao usuário especificado , bem como o proprietário desses arquivos/diretórios?
Como não me considero muito versado no terminal Linux estou de acordo em usar um comando diferente desde que retorne os resultados desejados e não exija algum tipo de condição especial (por exemplo baixar e instalar algo que não é literalmente em todas as distribuições do Linux).
A maioria das
find
implementações permite formatar sua saída com aprintf
função.Consulte seus próprios sistemas
man find
para saber quais opções de formatação são realmente suportadas.Usando me dá uma lista separada
-printf '%u\t%p\n'
por TAB ( ) com nome de usuário (ou número UID quando isso não pode ser resolvido para um nome de usuário) e o nome de arquivo completo, incluindo path . A nova linha é necessária porque, caso contrário, você não verá um item por linha.\t
%u
%p
\n
Fornece uma lista como: