Quero arquivar arquivos (com tar) com tamanho inferior a 3 MB. Mas também quero manter os diretórios em que esses arquivos existem. (então eu não posso usar o find
comando). Eu só quero evitar os arquivos com mais de 3 MB de tamanho. Como isso pode ser feito?
11
find
novamente?Respostas:
Mais simples do que você pensa:
Em uma observação semi-relacionada (relacionada à sua afirmação de que você não pode usar o find) para obter uma lista de todos os arquivos (incluindo diretórios) em um caminho menos os arquivos maiores que 3MiB, use:
Você pode então fazer:
Mas eu prefiro o primeiro, pois é mais simples, expressa claramente o que você deseja e levará a menos surpresas.
fonte
Se o nome do arquivo contiver colchetes, em alguns sistemas, será necessário excluir explicitamente. Por exemplo
fonte
Se você estiver tentando fazer isso em um servidor via SSH, não funcionará por causa disso . Para contornar isso, você pode usar pipes e xargs:
fonte