成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

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

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

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

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

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

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

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

輸出:Sum =? 52997

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

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

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

例子:

mkfile -n 160g test1

2、Linux可以用dd指令,/dev/zero是一個特別的文件描述符可以通過它返回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字符來填充文件內(nèi)容,文件統(tǒng)計時沒有行(wc -l test.file為0)

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

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

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

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

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

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

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

例子:假設(shè)先建立一個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行,效率會下降地比較厲害

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

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

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

思路:

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

可以從里面挑選一些作為文件的內(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中讀取的單詞,雖說組合成一句的命令,還是可以讀懂的;從標(biāo)準(zhǔn)輸入中重復(fù)讀取Y個單詞,寫入到b列表中,然后再通過join空格連接內(nèi)容寫入到標(biāo)準(zhǔn)輸出文件file.txt中

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

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

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

廣告

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

外貿(mào)網(wǎng)站建設(shè)
石家庄市| 界首市| 广汉市| 丹阳市| 安国市| 阿图什市| 甘洛县| 北宁市| 定安县| 西青区| 湖北省| 镇远县| 四子王旗| 石首市| 大竹县| 大英县| 昌宁县| 凤冈县| 西林县| 苍梧县| 南阳市| 兴城市| 叶城县| 镇远县| 巧家县| 盱眙县| 汉阴县| 章丘市| 乌海市| 从江县| 永年县| 云浮市| 西乌珠穆沁旗| 博白县| 历史| 衡山县| 白沙| 涿州市| 建阳市| 揭阳市| 甘谷县|