Eu estou olhando recursivamente através de diretórios para encontrar arquivos que não pertencem a um usuário específico e não tenho certeza de como escrever isso.
182
O utilitário find (1) possui primárias que podem ser negadas ("revertidas") usando o "!" operador. No prompt, é necessário, no entanto, escapar da negação com uma barra invertida, pois é um metacaractere de concha. Resultado:
find . \! -user foo -print
!
parece ser opcionalxargs -I{} -P3 -- ${cmdhere} {}
que $ {cmdhere} opere em cada arquivo em paralelo. cmdhere :: = utilitários unix padrão; utils Unix Padrão :: = chmod, chown, stat, ls, ...find . ...
tubulação ouxargs
a primeira ou a segunda maneira?find . ! -user foo -exec chown <owner>:<group> {} \;
Outros responderam à pergunta "NÃO pertencente a um usuário específico" no corpo. Aqui está um que responde à pergunta do titular, mas não foi fornecido:
Você pode usá-lo assim:
E um relacionado:
fonte
-user
localiza por usuário ou ID do usuário e!
inverte o predicado. Então! -user ...
,.fonte
Você pode usar isto:
fonte
Usando o z-shell (zsh), você pode usar
ou
para procurar todos os arquivos recursivamente não pertencentes a você.
fonte
-a
sinalizador devido à expansão do curinga. Para pegar dot arquivos usam o zshdotglob
opção:setopt dotglob
. Em uma linha:(setopt dotglob; ls **/*(^U) )
. Os parênteses devem ser executados em um subshell, para que você não precise executarsetopt nodotglob
depois de terminar.