#!/bin/bash
網站建設哪家好,找創(chuàng)新互聯(lián)公司!專注于網頁設計、網站建設、微信開發(fā)、小程序開發(fā)、集團企業(yè)網站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了呼瑪免費建站歡迎大家使用!
sort -R a.txt | head -20000
##
sort隨機排序,然后取前20000,實現(xiàn)出來就是隨機抽取20000.
使用dd命令快速生成大文件或者小文件的方法
轉載請說明出處:
在程序的測試中有些場景需要大量的小文件或者幾個比較大的文件,而在我們的文件系統(tǒng)里一時無法找到那么多或者那么大的文件,此時linux的dd命令就能快速的幫助你完成想要的文件。具體用法簡單總結如下:
1.
dd命令可以輕易實現(xiàn)創(chuàng)建指定大小的文件,如
dd
if=/dev/zero
of=test
bs=1M
count=1000
在當前目錄下會生成一個1000M的test文件,文件內容為全0(因從/dev/zero中讀取,/dev/zero為0源),但是這樣為實際寫入硬盤,文件產生速度取決于硬盤讀寫速度,如果欲產生超大文件,速度很慢。在某種場景下,我們只想讓文件系統(tǒng)認為存在一個超大文件在此,但是并不實際寫入硬盤
則可以
dd
if=/dev/zero
of=test
bs=1M
count=0
seek=100000
此時創(chuàng)建的文件在文件系統(tǒng)中的顯示大小為100000MB,但是并不實際占用block,因此創(chuàng)建速度與內存速度相當,seek的作用是跳過輸出文件中指定大小的部分,這就達到了創(chuàng)建大文件,但是并不實際寫入的目的。當然,因為不實際寫入硬盤,所以你在容量只有10G的硬盤上創(chuàng)建100G的此類文件都是可以的。
2.
隨機生成1百萬個1K的文件
seq
1000000
|
xargs
-i
dd
if=/dev/zero
of={}.dat
bs=1024
count=1
在shell中有一個環(huán)境變量RANDOM,它的范圍是0--32767
如果我們想要產生0-25范圍內的數(shù),如下:
$RANDOM%26
用這個環(huán)境變量對26取模,就可以得到最小是0,最大是25的數(shù)了。
如果想得到1--68范圍內的數(shù),可以這樣
$RANDOM%68+1,
前面可以得到最小為0,最大為67的隨機數(shù),再加上1,很自然的就可以得到最大為1,最小為68的數(shù)了。
如果想得到6--87范圍內的數(shù)。可以這樣
$RANDOM%82+6,
前面可以得到最小為0,最大為81的隨機數(shù),再加上6,很自然的就可以得到最大為87,最小為6的數(shù)了。
cat?/dev/random?|?tr?-d?-c?'[:graph:]'|head?-c?10
這樣生成一個長度10的隨機密碼 . 一般情況下都會符合你的要求.
當然你可以再做改進, 比如
測試是否包含大寫字母/小寫字母/特殊符號. 如果不符合再調用上面的命令重新生成一個.