Я понимаю, что это - старый вопрос, но я просто должен был добавить свою ценность за 2 цента:
1) Я настоятельно рекомендовал бы Бодхи Linux. Это имеет фантастический пользовательский интерфейс (хорошая услада для глаз) все же требует только этих минимальных аппаратных спецификаций: 300+MHz ЦП, 128 МБ RAM и 2.5 ГБ пространства на жестком диске (см. их о странице),
2) Что касается бесплатного распространения, Вы не должны далеко смотреть, они примерно все бесплатно ;-)
Кроме того, Бодхи является производной Ubuntu, означая, что не только легко установить, но и можно извлечь выгоду из всех пакетов в репозитории Ubuntu.
Оболочка + GNU coreutils решение:
echo $(( 8 * $(stat -c%s FILE) ))
-c%s
опция к stat
возвраты просто размер файла в байтах, избавляя от любой необходимости дополнительную обработку текста. Этот синтаксис поддерживается GNU coreutils и поэтому должен работать под большинством дистрибутивов Linux.
Как исключение на Linux, если Вы выполняете zsh с дополнительным zsh/stat модулем, то нужно указать путь для получения GNU coreutils:
echo $(( 8 * $(command stat -c%s FILE) ))
Это возможно в одной строке, потому что можно поместить несколько команд на одну строку, например, соединенный каналами или управлять заменами:
echo $(stat -c %s FILE) '* 8' | bc
(Спасибо @frostschutz для обновления).
ZSize: 5
например
– Stéphane Chazelas
27.01.2014, 10:51
stat -c %s FILE
распечатать размер непосредственно, вместо sed
?
– frostschutz
27.01.2014, 12:51
С GNU find
(предшествует GNU stat
к десятилетиям):
find file -prune -printf '%s*8\n' | bc
Относительно портативно:
ls -ld -- "$file" | awk '{print $5*8;exit}'
Единственный файл:
wc -c yourfile | awk '{print $1*8}'
Файлы Mutiple:
wc -c yourfile1 yourfile2 | awk '{$1*=8; print $0}'
Этот также работает на единственный файл. Это не является абсолютно пуленепробиваемым, хотя, см. комментарий Stephane.
Это стандарт POSIX совместимые команды.
a b
файл как a b
(последовательности пробелов преобразовываются в одиночный пробел, удаленные конечные пробелы).
– Stéphane Chazelas
27.01.2014, 10:48
NR == 1
– Stéphane Chazelas
29.01.2014, 11:18
bc
-awk
может сделать саму математику:du -b FILE | awk '{print $1 * 8}
– aragaer 27.01.2014, 03:23wc -c < FILE
для портативного эквивалента (для нерегулярных файлов, это имеет побочный эффект чтения их, хотя) – Stéphane Chazelas 27.01.2014, 10:45