linux命令(48):打亂一個文本文件的所有行


如果用python讀進內存再打亂的思路,如果大文件的話,就比較麻煩了

網上找到一個簡單的方法,shuf:

$ shuf --help
用法: shuf [選項]... [文件]  或者: shuf -e [選項]... [參數]...  或者: shuf -i LO-HI [選項]... 把輸入行按隨機順序輸出到標准輸出。  長選項必須使用的參數對於短選項時也是必需使用的。  -e, --echo 將每個參數視為輸入行  -i, --input-range=LO-HI 將LO 到HI 的每個數字視為輸入行  -n, --head-count=行數 最多輸出指定的行數  -o, --output=文件 將結果輸出到指定文件而非標准輸出  --random-source=文件 從指定文件獲得隨機比特  -z, --zero-terminated 以0 結束行而非新行  --help 顯示此幫助信息並退出  --version 顯示版本信息並退出  如果沒有指定文件,或者文件為"-",則從標准輸入讀取。  [請向bug-coreutils@gnu.org](mailto:請向bug-coreutils@gnu.org) 報告shuf 的錯誤 GNU coreutils 項目主頁:<<http://www.gnu.org/software/coreutils/>> GNU 軟件一般性幫助:<<http://www.gnu.org/gethelp/>> 請向<<http://translationproject.org/team/zh_CN.html>> 報告shuf 的翻譯錯誤

使用例子:shuf input_file.txt -o  output_file.txt


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM