De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 21 de Agosto de 1997
Qual a diferença entre os comandos abaixo?
$ find . -user queiroz -exec ls {} \; $ find . -user queiroz -print | xargs ls
A diferença é que no primeiro find
o comando ls
é executado uma vez
para cada arquivo encontrado. Se forem encontrados 1000 arquivos o comando
ls
será executado 1000 vezes.
Já no segundo exemplo, com a saída do find
redirecionada para o comando xargs
,
o comando ls
será executado sobre um grupo de arquivos de cada vez e não uma
vez para cada arquivo. O que determinará o número de vezes que o comando
xargs
executará o comando ls
é justamente o tamanho da linha de comandos.
O comando xargs
dividirá a saída gerada pelo comando find
em blocos
compatíveis com a capacidade do sistema de maneira a que não ocorra um erro
quando da execução, em nosso caso, do comando ls
.
Em outras palavras, suponhamos que o comando find
descubra 2000 arquivos
sobre os quais o comando xargs
deverá executar o comando ls
. O limite máximo
de arquivo sobre os quais o comando ls
pode atuar é de 500. O comando xargs
automaticamente realizará a divisão desta entrada em quatro blocos de 500
arquivos.
Concluindo, o comando xargs
é bem mais eficiente do que a diretiva
-exec
do comando find
, por exigir menos recursos computacionais para
executar a mesma tarefa.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários