我正面临着这个简单的任务,但我也想知道最简单的方法是什么.
我的建议是将一个给定数量的随机文件从一个目录移动到另一个目录.此任务是创建机器学习所需的两个数据集的一部分:训练集和测试集.我的目标是从目录中移除10%的文件以获取数据集agaist,我可以测试我的分类程序,并从源目录中获取训练集.
那么,这个"移动n随机文件"任务最紧凑的输入是什么?
提前谢谢 - 像往常一样 -
boe*_*107 29
使用的组合shuf
和xargs
(这是一个好主意,看看他们的文档有man
):
shuf -n 10 -e * | xargs -i mv {} path-to-new-folder
Run Code Online (Sandbox Code Playgroud)
上面的命令选择当前文件夹(*
部件)的10个随机文件,然后将它们移动到新文件夹.
虽然更长,但人们可能会发现这个版本更容易理解:
ls | shuf -n 10 | xargs -i mv {} path-to-new-folder
Run Code Online (Sandbox Code Playgroud)
shuf
只生成标准输入的随机排列,将结果限制为10(如使用head
,但可能更快).