免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

linux命令隨機(jī)值 linux 隨機(jī)字符串

如何在linux中用命令產(chǎn)生一個(gè)范圍內(nèi)的隨機(jī)數(shù)

linux內(nèi)核自1.3.30版本以來(lái)實(shí)現(xiàn)了一個(gè)隨機(jī)數(shù)產(chǎn)生器,從理論上說(shuō)它能產(chǎn)生真正的隨機(jī)數(shù),該隨機(jī)數(shù)產(chǎn)生器是從設(shè)備驅(qū)動(dòng)收集電路上的環(huán)境噪音放入熵池,它的實(shí)現(xiàn)代碼在drivers/char/random.c中,自己去看吧

網(wǎng)站建設(shè)、網(wǎng)站制作的開發(fā),更需要了解用戶,從用戶角度來(lái)建設(shè)網(wǎng)站,獲得較好的用戶體驗(yàn)。成都創(chuàng)新互聯(lián)公司多年互聯(lián)網(wǎng)經(jīng)驗(yàn),見的多,溝通容易、能幫助客戶提出的運(yùn)營(yíng)建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇成都創(chuàng)新互聯(lián)公司,不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來(lái)訪用戶感受到浩方產(chǎn)品的價(jià)值服務(wù)。

linux計(jì)算隨機(jī)產(chǎn)生的一百個(gè)數(shù)的和

下面的命令將隨機(jī)生成1-1000之間的100個(gè)隨機(jī)數(shù),并求和輸出:

shuf -i 1-1000 -n 100|awk '{sum+=$1} END {print "Sum = ", sum}'

輸出:Sum =? 52997

如何在Linux系統(tǒng)通過(guò)命令行生成隨機(jī)文件

A、當(dāng)你不需要關(guān)心隨機(jī)文件的內(nèi)容,只需一個(gè)固定大小的文件

1、Solaris、Mac OS X等Unix系統(tǒng)中mkfile指令,可以產(chǎn)生指定大小的文件,而Linux上則沒有

例子:

mkfile -n 160g test1

2、Linux可以用dd指令,/dev/zero是一個(gè)特別的文件描述符可以通過(guò)它返回null值

例子:

dd if=/dev/zero of=test.file count=1024 bs=1024

產(chǎn)生count * bs字節(jié)的文件,1M

此方法生成隨機(jī)文件的好處在于效率高(產(chǎn)生1G文件大概1s),創(chuàng)建的文件大小精確到字節(jié)

壞處也有

使用null字符來(lái)填充文件內(nèi)容,文件統(tǒng)計(jì)時(shí)沒有行(wc -l test.file為0)

B、當(dāng)你不需要關(guān)心隨機(jī)文件的內(nèi)容,但期望測(cè)試文件能有統(tǒng)計(jì)的行

將/dev/zero改為/dev/urandom,/dev/urandom是linux下的隨機(jī)數(shù)生成器

關(guān)于/dev/urandom跟/dev/random兩者的區(qū)別就不在此詳細(xì)討論,大概就是,前者是不受系統(tǒng)interrupts的限制,即使沒有足夠的interrupt它也能通過(guò)隨機(jī)數(shù)生成器產(chǎn)生足夠的輸出值;而后者如果用在dd上,它不能被ctrl+c或者kill -9中斷,如果ds的值較大時(shí),產(chǎn)生的隨機(jī)值不足而長(zhǎng)期占用CPU。雖然說(shuō)/dev/random產(chǎn)生的隨機(jī)數(shù)會(huì)更隨機(jī)些,但與dd混用還是建議用/dev/urandom效率更高。

缺點(diǎn)跟/dev/zero比當(dāng)然是效率會(huì)更低些了,生成個(gè)100Mb的文件需要10秒左右,而且文件并沒有可讀的內(nèi)容,一般的情況基本上是滿足了。

漏了說(shuō)句,dd是linux與unix都支持的指令。

C、當(dāng)你關(guān)心文件的隨機(jī)內(nèi)容行數(shù),而不關(guān)心內(nèi)容是否有所重復(fù)

這里的思路就是找一個(gè)參照文件(比如說(shuō)2行),將文件重新定向到新的文件,再mv覆蓋保存,外加一個(gè)for循環(huán)。(n為循環(huán)次數(shù),產(chǎn)生的文件行為2^(n+1))

例子:假設(shè)先建立一個(gè)file.txt文件,里面含有Hello 和 World兩行

for i in {1..n}; do cat file.txt file.txt file2.txt mv file2.txt file.txt; done

由于是階乘,n=20左右已經(jīng)是200W行,效率會(huì)下降地比較厲害

D、當(dāng)你關(guān)心隨機(jī)文件的內(nèi)容,而不想出現(xiàn)重復(fù)內(nèi)容行情況

這種情況下系統(tǒng)的指令應(yīng)該是不能滿足了,或者可以通過(guò)操作系統(tǒng)的指令寫一大串腳本也可以達(dá)到,但不建議這么做,因?yàn)榭勺x性和維護(hù)性考慮,你應(yīng)該要引入Ruby或者Python類的腳本語(yǔ)言幫忙了

但還是要借助些系統(tǒng)的東西來(lái)幫忙

思路:

/usr/share/dict/words里面有記錄一些單詞,一共235886行,每行一個(gè)單詞

可以從里面挑選一些作為文件的內(nèi)容

加循環(huán)達(dá)到我們想要的隨機(jī)文件要求

舉例:

ruby -e 'a=STDIN.readlines;X.times do; b=[];Y.times do; ba[rand(a.size)].chomp end; puts b.join(" ")' /usr/share/dict/words file.txt

X為隨機(jī)文件需要的行數(shù),Y為從words中讀取的單詞,雖說(shuō)組合成一句的命令,還是可以讀懂的;從標(biāo)準(zhǔn)輸入中重復(fù)讀取Y個(gè)單詞,寫入到b列表中,然后再通過(guò)join空格連接內(nèi)容寫入到標(biāo)準(zhǔn)輸出文件file.txt中

這樣基本很少會(huì)有重復(fù)的行了,而且生成的效率與其他方法對(duì)比還是可以的,10秒生成100Mb文件。歡迎大家討論。

本文題目:linux命令隨機(jī)值 linux 隨機(jī)字符串
網(wǎng)頁(yè)路徑:http://m.newbst.com/article36/ddojspg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷云服務(wù)器網(wǎng)站維護(hù)微信公眾號(hào)面包屑導(dǎo)航網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)