2012-06-27 156 views
-3

如何使用sed在隨機數行(但不超過150行)中生成隨機數(最多1行,最多5個字段長度)?是否可以或更好地使用Perl?使用sed在隨機數行中生成隨機數

+0

爲什麼要使用'sed'? 'Perl'甚至'shell腳本'都可以完成這項工作,但是我沒有在這裏看到'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來改變這一點。

OD選項

  • -An不輸出地址。
  • -t d2輸出2個字節的數字並轉換爲十進制。
  • -w10字段數乘以字節長度。

perl的解決方案

使用int rand(n)取得0-8的隨機整數多達n(見perldoc -f rand)。

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

如果您只有sed或perl在您的處置,該怎麼辦? – user1246172