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: Márcio C. M. Rezende
Data de Publicação: 16 de Maio de 2009
Dei uma buscada em dicas por aqui e não encontrei o que precisava: Como montar um archive cpio ignorando alguns arquivos ou diretórios?
A solução vem com o find. Ao contrário do que eu pensava, o parametro name, serve bem para isto.
Siga o exemplo:
$ cd /tmp # va para uma area traquila $ mkdir tst; cd tst # crie uma região limpa e entre nela $ touch a b c d # crie quatro arquivos $ ls # veja se estão lá a b c d $ # busque somente os diretorios "b" e "d" e inclua no seu archive.cpio $ find -name "a" -o -name "c" -o print | cpio -o > archive.cpio
Por partes:
a
ou c
caso contrario, IMPRIME na saída e o cpio
faz o resto.
finded
(encontrado), como o senso comum nos levaria a crer.
a
e c
, use os nomes de arquivo e de diretórios que
você deseje encontrar de fato
Se usarmos nomes de diretórios e a cláusula -prune (logo após o nome do
diretório), eliminamos o diretório e todo o seu conteúdo (da lista!).
==Ex 2 - (mais complexo):==
$ cd /tmp/tst # vá para a mesma area traquila $ ls # veja se seus arquivos estão lá a b c d $ mkdir -p pasta/{e,f} # crie um diretorio novo com 2 novos subdiretorios $ find # veja o conteúdo . ./a ./d ./c ./b ./pasta ./pasta/f ./pasta/e $ # busque somente os diretorios "b" e "d" e exclua a pasta "e", existente no subdir "pasta" $ find -name "a" \ -o -name "c" \ -o -name "e" -prune \ -o -print | cpio -o > archive.cpio $ cpio -t < archive.cpio # liste o conteudo do novo archive . d b pasta pasta/f archive.cpio 1 blockPerceba que a pasta
e
(e todo o conteudo se houvesse ) ficou de fora assim
como os arquvios a
e c
Visite o meu blog: http://marzvix.wordpress.com
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