Как генерировать случайные числа (длина 1 строки максимум 5 полей) в случайном числе строк (но не более 150 строк) с помощью sed? Возможно ли это или лучше использовать Perl для этого?Генерировать случайные числа в случайном числе строк с помощью sed
ответ
sed разбирает и редактирует существующие текстовые потоки, а не создает их. Практически любой язык программирования (в том числе perl) лучше подходит для задачи.
У меня есть только sed и perl в моем распоряжении. Как это сделать с помощью perl? – user1246172
Я не думаю, что 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";
}
что делать, если у вас есть только sed или perl? – user1246172
Почему вы хотите использовать 'sed'? «Perl» или даже «скрипт оболочки» выполнит эту работу, но я не вижу вариант использования 'sed' здесь – Scharron
. Пожалуйста, улучшите свой вопрос, разместив несколько [правильно отформатированных] (http://stackoverflow.com/ редактирование-помощь), который вы применили к проблеме. Кроме того, включите правильно отформатированный образец вашего ** ожидаемого выхода **, чтобы люди поняли результаты, которые вы пытаетесь достичь. –