隨機 cat 一大群檔案成一個檔案 - Linux

Table of Contents

※ 引述《mself (mself)》之銘言:
: dear all
: 有一個問題請教
: 我有一批文字檔,例如,10000 個
: 我想把他們以隨機的順序 cat 組成一個檔案
: 請問怎麼實現比較好?
: 如果能用 bash shell 最好
: 用 perl 之類的也可以,不過我比較不懂,
: 要花點時間才能瞭解您的回答
: 感謝

雖然要你自己想,不過我還是忍不住,貼一下我的想法好了。
這方法比較笨,如果有人覺得能改進請指教。

由於你說有10000個檔。我不確定參數可以接到那麼長,所以採用一個一個接的方式

1.取得檔案列表。此檔案一行紀錄一個檔案路徑。(你可以用find or ls達成)
2.取得檔案個數。(用wc或是其他統計方式隨你)
3.參考這裡http://goo.gl/UDIK取得隨機數,並處理成最大值和你的檔數相同。
4.取出隨機數標明的行數,cat接上此檔。並用sed刪行。
5.loop,or遞迴

--

All Comments

Oscar avatarOscar2011-08-31
註解一下,隨機數要再-1才恰當。
Audriana avatarAudriana2011-08-31
我記得是在基礎題庫第四頁的地方
打錯...