Система. Строка
и изучает, как использовать регулярные выражения, которые представлены через Систему. Текст. Пространство имен RegularExpressions.
Это сохранит Вас огромное количество времени, если Вы закончите тем, что переписали текстовые синтаксические анализаторы или другие связанные со строкой задачи, которые уже создали в функциях для них.
http://www.regular-expressions.info/dotnet.html
И ежедневная газета WTF является потрясающим: D
Если вам нужен «видимый размер» (то есть количество байтов в каждом файле), а не размер, занимаемый файлами на диске, используйте -b
или - вариант байтов
(если у вас есть система Linux с GNU coreutils ):
% du -sbh <directory>
Используйте du -sb
:
du -sb DIR
При желании добавьте параметр h
для более удобного вывода:
du -sbh DIR
Формат stat "% s" дает вам фактическое количество байтов в файле.
find . -type f |
xargs stat --format=%s |
awk '{s+=$1} END {print s}'
Не стесняйтесь заменить свой любимый метод суммирования чисел .
Если вы используете "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)
Используйте:
$ du -ckx <DIR> | grep total | awk '{print $1}'
Где
'-c' дает вам общие итоговые данные, которые извлекаются с использованием части 'grep total' команды, а счетчик в килобайтах извлекается с помощью команды awk.
Единственное предостережение: если у вас есть подкаталог, содержащий текст «total», он также будет выведен.
Просто альтернатива:
ls -lAR | grep -v '^d' | awk '{total += $5} END {print "Total:", total}'
grep -v '^ d'
исключает каталоги.