Вы также можете установить Extension Pack через графический интерфейс:
Сначала вы посетите страницу загрузки VirtualBox , там под заголовком
Virtualbox ... Extension Pack вы найдете ссылка Все поддерживаемые платформы . Щелчок по этой ссылке загружает пакет расширений.
Теперь в меню выберите Файл / Настройки
щелкните значок, который я пометил, чтобы выбрать файл расширения и продолжить.
Конечно, у метода командной строки есть большое преимущество: вы получаете его намного быстрее и вам не нужно прокручивать лицензионное соглашение ...
Ниже приведены 2 метода. Второй метод, который использует seq
+ date
, чтобы имитировать то, о чем спрашивал ваш вопрос. Однако этот метод с использованием / dev / urandom
и fold
создаст случайные числовые строки любой длины, которую вы хотите.
Вы можете использовать такую команду для генерации случайной строки фиксированной длины.
$ tr -dc '0-9' </dev/urandom | fold -w 18 | head -n 1MB >1m-example.txt
Результатом будет следующий тип вывода:
$ head -5 1m-example.txt
405295373332357365
317790052799018265
512803158528955068
838448126037265342
014951048334094344
Время:
real 0m30.261s
user 0m1.700s
sys 0m29.976s
Примерно так будет генерировать пакетные данные, которые затем могут быть переданы по конвейеру до date
за один вызов:
$ seq -f @%12.0f 1 1000000 | date -f - '+%s%N' > 1m-example.txt
$ seq -f @%12.0f 1 1000000 | head -5
@ 1
@ 2
@ 3
@ 4
@ 5
Результатом такого типа вывода:
$ seq -f @%12.0f 1 1000000 | head -5 | date -f - '+%s%N'
1000000000
2000000000
3000000000
4000000000
5000000000
] Time:
real 0m8.647s
user 0m3.547s
sys 0m5.971s
Но это кажется совершенно ненужным, поскольку вам, кажется, просто нужно 1MM строк случайных данных определенного формата / типа. В этом случае я бы сделал что-то вроде решения @Graeme , используя вместо этого printf
с расширением скобок оболочки.
Если это просто произвольные отметки времени, тогда нет никакой реальной необходимости в дате
(это просто числа, верно?). Как насчет чего-то вроде:
printf '1393548962358%s\n' {000000..999999} >1m-example.txt
Если нет проблем с их последовательностью. Другая идея, более близкая к исходной, заключается в использовании следующего:
yes now | head -n 1MB | date -f - +%s%N >1m-example.txt
Это оставит некоторое пространство между числами, которое зависит от естественной энтропии системы. Здесь следует обратить внимание на зависимость аппаратного обеспечения / реализации, поскольку полные наносекундные временные метки могут не поддерживаться, например, у вас может быть только миллисекунда или даже секунда. В этом случае у вас будут повторяющиеся числа с нулями в конце, которые, скорее всего, будут повторяться. Хотя у меня работает нормально!
В качестве примечания: если вы пытаетесь создать отметки времени, которые будут читать до даты
, вам нужно добавить @
, чтобы что дата
будет интерпретировать их как отметки времени, а не как форматированные даты / время. Кроме того, требуется десятичная точка, поскольку date
принимает временные метки только в секундах (а не в наносекундах). См. Следующий пример (и комментарии ниже):
printf '@1393548962.358%s\n' {000000..000005} | date -f - '+%F %T.%N'