作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我面临着这个简单的任务,但我也想知道什么是最简单、最快捷的方法。
我的建议是将给定数量的随机文件从一个目录移动到另一个目录。此任务是创建机器学习所需的两个数据集的一部分:训练集和测试集。我的目标是从目录中移走 10% 的文件,以便获取数据卫星,我可以测试我的分类器,并从源目录中获取训练集。
那么,对于这个“移动 n 个随机文件”任务,最紧凑的输入是什么?
提前致谢 - 像往常一样 -
最佳答案
结合使用 shuf
和 xargs
(最好用 man
查看它们的文档):
shuf -n 10 -e * | xargs -i mv {} path-to-new-folder
上面的命令从当前文件夹(*
部分)随机选择 10 个文件,然后将它们移动到新文件夹。
虽然更长,但人们可能会发现这个版本更容易理解:
ls | shuf -n 10 | xargs -i mv {} path-to-new-folder
shuf
只是生成标准输入的随机排列,将结果限制为 10(类似于使用 head
,但可能更快)。
关于linux - 如何在 Unix/Linux 操作系统上移动给定数量的随机文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14033129/
我是一名优秀的程序员,十分优秀!