2012-06-27 6 views
-3

Как генерировать случайные числа (длина 1 строки максимум 5 полей) в случайном числе строк (но не более 150 строк) с помощью sed? Возможно ли это или лучше использовать Perl для этого?Генерировать случайные числа в случайном числе строк с помощью sed

+0

Почему вы хотите использовать 'sed'? «Perl» или даже «скрипт оболочки» выполнит эту работу, но я не вижу вариант использования 'sed' здесь – Scharron

+1

. Пожалуйста, улучшите свой вопрос, разместив несколько [правильно отформатированных] (http://stackoverflow.com/ редактирование-помощь), который вы применили к проблеме. Кроме того, включите правильно отформатированный образец вашего ** ожидаемого выхода **, чтобы люди поняли результаты, которые вы пытаетесь достичь. –

ответ

0

sed разбирает и редактирует существующие текстовые потоки, а не создает их. Практически любой язык программирования (в том числе perl) лучше подходит для задачи.

+0

У меня есть только sed и perl в моем распоряжении. Как это сделать с помощью perl? – user1246172

2

Я не думаю, что sed является инструментом для этого, но если вы хотите, чтобы генерировать случайные числа на случайных строк на unix, что-то, как это будет делать:

od -An -t d2 -w10 /dev/urandom | head -n $((RANDOM % 150)) 

Примечание: эти подписаны 16 бит номера, обновите -t и -w, чтобы изменить это.

варианты од

  • -An не выходной адрес.
  • -t d2 вывод 2 байта чисел и преобразование в десятичный.
  • -w10 кол-во полей умножено на длину байта.

Perl раствор

Используйте int rand(n), чтобы получить случайное целое число от 0 до п (см perldoc -f rand).

for (1 .. int rand(150)) { 
    print int rand(10), " " for (1 .. 5);    
    print "\n"; 
} 
+0

что делать, если у вас есть только sed или perl? – user1246172