tamanho do arquivo bash [closed]

0

eu tenho que mostrar o tamanho de todos os arquivos .conf que estão em / etc e redirecionar o tamanho da saída para um arquivo.txt, mas eu quero adicionar ao meu comando um sinalizador que defina um limite de saída redirecionada

meu comando é:

find /etc -name "*.conf" -printf "%s\n" | paste -sd+ | bc > file.txt

mas este comando mostra 365077 bytes

e eu quero ter valores entre 120000 bytes e 300000 bytes de saída redirecionada isso significa que quando eu cat arquivo.txt para ter um valor entre 120000bytes e 300000 bytes

Como encontrar a bandeira para o comando?

    
por Max44 16.11.2018 / 20:40

2 respostas

0

Se você quiser restringir o resultado a somas entre 120000 e 300000 bytes, uma maneira seria adicionar um filtro awk no final:

find ... | bc | awk '$1 >= 120000 && $1 <= 300000' > file.txt

Isso criaria um file.txt vazio para somas fora do intervalo, caso contrário, a soma é enviada para o arquivo.

Para criar o arquivo somente se a soma estiver no intervalo:

... | awk '$1 >= 120000 && $1 <= 300000 { print $1 > "file.txt" }'

... para que o awk grave no arquivo; largue o redirecionamento no final.

    
por 16.11.2018 / 20:59
1
$ find /etc -name \*.conf 2> /dev/null | xargs du -sc | tail -n1
1092    total

O tamanho total dos arquivos .conf neste host que o usuário executando este comando tem permissão para inspecionar é 1092 bytes.

    
por 16.11.2018 / 20:56