Compute o tamanho da pasta apenas para uma determinada extensão de arquivo

0

Eu tenho uma pasta contendo todos os meus projetos PHP, eu gostaria de um comando que produzisse o tamanho da pasta de cada projeto, mas apenas para os arquivos *.php dentro dele. Idealmente, a saída seria algo assim:

project1 7,0M
project2 13,3M
...
    
por COil 19.08.2014 / 08:07

2 respostas

1

Supondo que você tenha uma pasta que contenha apenas pastas de projeto, você pode executar o seguinte nessa pasta:

for proj in *; do
  phpfiles=$(find $proj -iname '*.php')
  size=$(du -ch $phpfiles | tail -n 1 | cut -d\t -f1)
  echo $proj $size
done

Explicação: nós iteramos sobre todas as pastas do projeto. Em cada pasta, encontramos todos os arquivos *.php . Calculamos o tamanho total desses arquivos e geramos o nome da pasta do projeto e o tamanho computado.

Na primeira linha, simplesmente usei * para iterar em todas as pastas do projeto. Supondo que seu diretório de trabalho atual seja uma pasta que contenha apenas pastas de projeto. No entanto, você pode substituir isso por algo mais preciso, por exemplo, for proj in /home/user/proj1 /var/www/proj2 /opt/proj3 , para iterar apenas em pastas específicas.

    
por Malte Skoruppa 19.08.2014 / 08:19
0

Sem problemas:

find /var/www/site/ -type f -name "*.php" -exec du -shc {} + | tail -1 | awk '{print $1}'

Você pode criar scripts para mostrar todos:

#!/bin/bash

cd /var/www/
for i in $(find ./* -maxdepth 0 -type d)
do
    prjSz=$(find $i -type f -name "*.php" -exec du -shc {} + | tail -1 | awk '{print $1}')
    echo "${i:2}: $prjSz"
done
    
por krowe 19.08.2014 / 08:13
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warning – yii\base\ErrorException

PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib/php/20190902/memcached.so (/usr/lib/php/20190902/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20190902/memcached.so.so (/usr/lib/php/20190902/memcached.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '185495',
    'url' => 'compute-folder-size-for-a-given-file-extension-only',
];

$_COOKIE = [
    '_csrf-frontend' => 'aecf6890fcae1108e402d8443bbb94ed1fdbbf2f7d987e3ad52fc269862ac944a:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"8jr-_JhSE0T_A0lnw-HBMPmY4WK73RJg";}',
    'advanced-frontend' => 'qph5opm5tn6o689sbtcgg162g4',
];

$_SESSION = [
    '__flash' => [],
];