Usar:
find . -type f -size +4096c
para encontrar arquivos maiores que 4096 bytes.
E:
find . -type f -size -4096c
para encontrar arquivos menores que 4096 bytes.
Observe a diferença + e - após a troca de tamanho.
O -size
interruptor explicou:
-size n[cwbkMG]
File uses n units of space. The following suffixes can be used:
`b' for 512-byte blocks (this is the default if no suffix is
used)
`c' for bytes
`w' for two-byte words
`k' for Kilobytes (units of 1024 bytes)
`M' for Megabytes (units of 1048576 bytes)
`G' for Gigabytes (units of 1073741824 bytes)
The size does not count indirect blocks, but it does count
blocks in sparse files that are not actually allocated. Bear in
mind that the `%k' and `%b' format specifiers of -printf handle
sparse files differently. The `b' suffix always denotes
512-byte blocks and never 1 Kilobyte blocks, which is different
to the behaviour of -ls.
Eu acho que
find
pode ser útil sozinho, sem canalizar para o AWK. Por exemplo,O til indica onde você deseja que sua pesquisa comece e o resultado deve exibir apenas arquivos maiores que 2 kilobytes.
Para torná-lo sofisticado, você pode usar a
-exec
opção para executar outro comando, que é listar esses diretórios com seus tamanhos.Para obter mais informações, leia a página
find
do manual .fonte
O AWK é realmente muito fácil para esse tipo de coisa. Aqui estão algumas coisas que você pode fazer em relação à verificação do tamanho do arquivo, como você perguntou:
Listar arquivos com mais de 200 bytes:
Liste arquivos com menos de 200 bytes e grave a lista em um arquivo:
Liste arquivos de 0 bytes, grave a lista em um arquivo e exclua os arquivos vazios:
fonte
ls
não é boatee
e apenas redirecionar para um arquivo, comols -l > filelog
(ouls -l >> filelog
)?Maior que 2000 bytes:
Menos de 2000 bytes:
fonte