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