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: Sérgio Luiz Araújo Silva
Data de Publicação: 23 de junho de 2010
Combinaremos:
find
com a opção type d -print0
lista diretórios e marca como delimitador o caractere zero.
xargs
com a opção 0
mkdir
com a opção -p
Tomemos por exemplo a estrutura de uma pasta ~/docs
:
( cd ~/docs ; find -type d -print0 ) | xargs -0 mkdir -p | | + -------> diretório base
O trecho entre parênteses é executado num subshell. A intenção é gerar a
lista das pastas à partir do diretório indicado, o print0
do find
ajuda a
evitar que pastas com nomes compostos gerem duas ou mais pastas. Note que
o xargs
tem também uma opção zero 0
para pegar este delimitador.
Outra função do xargs
é evitar estouro de pilha. O xargs
só entrega
ao mkdir
blocos de um tamanho aceitável sendo muito mais rápido do que
a opção -exec
do find
.
Para pesquisar dica sobre bash no meu blog: http://vivaotux.blogspot.com/search/label/bash
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