Вы попытались использовать флаг-C на команде nm? Это должно demangle имена.
./gcd-rand.py 10000 10000 | head -c 32M > concievablyreallyhugefile
head
прекратит читать после 32 МБ. Вскоре после head
чтение остановок, gcd-rand.py
получит сигнал SIGPIPE и выход.
Чтобы постараться не хранить усеченную последнюю строку, как Michael Kjörling заметил:
./gcd-rand.py 10000 10000 | head -c 32M | sed '$d' > concievablyreallyhugefile
Прием должен использовать тестовую команду test
или эквивалент [ ... ]
:
while [ "$(du -m f|cut -f1)" -lt 32 ]
do
./gcd-rand.py 10000 10000 > "$f"
done
Посмотрите help test
для получения дополнительной информации.
Примечание:
test
или [
команда является встроенным ударом. Справочная информация может быть получена в ударе через help test
или help [
. man test
относится к test
команда, которая используется, если оболочка имеет не такое встроенное или вызывается явно как /usr/bin/test
.
Ваши циклы кода Python навсегда. Таким образом Вы могли бы хотеть выполнить его в фоновом режиме и затем уничтожить его, когда размер файла превышен. Как острота:
{ ./gcd-rand.py 10000 10000 > f & }; p=$!; while (( $(stat -c %s f) < 33554432 )); do sleep .1; done; kill $p
Примечание: выберите время сна, столь соответствующее вместо статистики, можно также использовать du, как предложенный Dirk.
wc -c
вместо stat
, который позволит этому работать за пределами Linux.
– jordanm
07.03.2013, 17:23
Можно использовать ulimit
команда, чтобы ограничить, как большой файл оболочка (или ее дети) может создать:
ulimit -f 32768
(ulimit -f 32768; cmd)
возможность.
– chepner
11.03.2013, 14:33
len()
, и не забудьте объяснять новую строку). отличная работа – a CVn 10.03.2013, 01:21