Общий размер содержания всех файлов в [закрытом] каталоге

Система. Строка

и изучает, как использовать регулярные выражения, которые представлены через Систему. Текст. Пространство имен RegularExpressions.

Это сохранит Вас огромное количество времени, если Вы закончите тем, что переписали текстовые синтаксические анализаторы или другие связанные со строкой задачи, которые уже создали в функциях для них.

http://www.regular-expressions.info/dotnet.html

И ежедневная газета WTF является потрясающим: D

99
задан Peter Mortensen 8 October 2015 в 19:09
поделиться

6 ответов

Если вам нужен «видимый размер» (то есть количество байтов в каждом файле), а не размер, занимаемый файлами на диске, используйте -b или - вариант байтов (если у вас есть система Linux с GNU coreutils ):

% du -sbh <directory>
105
ответ дан 24 November 2019 в 05:01
поделиться

Используйте du -sb :

du -sb DIR

При желании добавьте параметр h для более удобного вывода:

du -sbh DIR
44
ответ дан 24 November 2019 в 05:01
поделиться

Формат stat "% s" дает вам фактическое количество байтов в файле.

 find . -type f |
 xargs stat --format=%s |
 awk '{s+=$1} END {print s}'

Не стесняйтесь заменить свой любимый метод суммирования чисел .

13
ответ дан 24 November 2019 в 05:01
поделиться

Если вы используете "du" busybox в emebedded системе, вы не можете получить точные байты с помощью du, вы можете получить только килобайты.

BusyBox v1.4.1 (2007-11-30 20:37:49 EST) multi-call binary

Usage: du [-aHLdclsxhmk] [FILE]...

Summarize disk space used for each FILE and/or directory.
Disk space is printed in units of 1024 bytes.

Options:
        -a      Show sizes of files in addition to directories
        -H      Follow symbolic links that are FILE command line args
        -L      Follow all symbolic links encountered
        -d N    Limit output to directories (and files with -a) of depth < N
        -c      Output a grand total
        -l      Count sizes many times if hard linked
        -s      Display only a total for each argument
        -x      Skip directories on different filesystems
        -h      Print sizes in human readable format (e.g., 1K 243M 2G )
        -m      Print sizes in megabytes
        -k      Print sizes in kilobytes(default)
3
ответ дан 24 November 2019 в 05:01
поделиться

Используйте:

$ du -ckx <DIR> | grep total | awk '{print $1}'

Где

- это каталог, который вы хотите проверить.

'-c' дает вам общие итоговые данные, которые извлекаются с использованием части 'grep total' команды, а счетчик в килобайтах извлекается с помощью команды awk.

Единственное предостережение: если у вас есть подкаталог, содержащий текст «total», он также будет выведен.

0
ответ дан 24 November 2019 в 05:01
поделиться

Просто альтернатива:

ls -lAR | grep -v '^d' | awk '{total += $5} END {print "Total:", total}'

grep -v '^ d' исключает каталоги.

16
ответ дан 24 November 2019 в 05:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: