Preciso tar-gzip arquivos abaixo de um determinado tamanho em um diretório. Eu tentei o comando sugerido deesta postageme funciona, mas quando mudei o argumento para find -size
to -1G
, ele ignora alguns arquivos mesmo quando o tamanho do arquivo é inferior a 1 GB. Quando forneci -100M
e mesmo -900M
esses arquivos não foram ignorados.
Algumas informações sobre os arquivos:
Os arquivos no diretório consistem em vários arquivos de tamanho médio (1-200 MB) e milhares de arquivos pequenos (<1 MB cada).
Os arquivos de tamanho médio são executáveis (extensão .exe).
Os pequenos arquivos são apenas alguns arquivos aleatórios sem extensão ou com extensão .lat.
Quando forneci -900M
, todos os arquivos pequenos e médios são retornados como resultado. No entanto, quando forneci -1G
, todos os arquivos de tamanho médio e muitos arquivos pequenos estão faltando no resultado.
Pergunta:
Há algo que sinto falta aqui sobre o uso de -size -1G
?
Outras informações (possivelmente úteis):
Estou executando o Ubuntu 15.04 como VM no meu Windows 8.1.
Se alguém suspeitar que isso tem algo a ver com os arquivos com os quais estou trabalhando, por favor me avise e farei o upload de todos os arquivos em questão.
Sou bastante novo no Unix/Linux e esta é minha primeira pergunta no fórum de superusuários, então se eu tiver violado alguma regra involuntariamente, por favor, me avise.
Responder1
A resposta pode ser encontrada emhttps://unix.stackexchange.com/questions/50763/find-size-1gb-in-centos.
Em resumo, -
in -1G
é como um sinal <, então <1G é na verdade 0G, e é por isso que ele não retorna arquivos menores que 1024M conforme o esperado.
Ainda não sei por que, no meu caso, ele retorna alguns dos arquivos minúsculos como resultado; portanto, se alguém quiser dar uma explicação, fique à vontade para fazê-lo.
Estou mantendo esta pergunta (e resposta) porque esse problema não é exclusivo do CentOS e as pessoas que procuram o problema sem a palavra-chave "CentOS" podem não conseguir encontrar a postagem mencionada acima.