gpt4 book ai didi

shell - 将非常大的目录拆分为 Unix 上的较小目录的单行

转载 作者:行者123 更新时间:2023-12-04 17:54:14 24 4
gpt4 key购买 nike

在 UNIX 上,您如何将一个非常大的目录(可能包含数百万个文件)拆分为一些自定义定义的最大文件数的较小目录,例如每个目录 100 个?

如果您知道如何获得 wget 的奖励积分自动将文件下载到这些子目录中。所以如果有 100 万 .html位于 www.example.com 的顶级路径中的页面, 如

/1.html
/2.html
...
/1000000.html

并且我们只需要每个目录 100 个文件,它会将它们下载到类似的文件夹中
./www.example.com/1-100/1.html
...
./www.example.com/999901-1000000/1000000.html

只有真正需要能够在 wget 之后的文件夹上运行 UNIX 命令已下载文件,但如果可以使用 wget 执行此操作因为它正在下载我很想知道!

最佳答案

另外一个选项:

i=1;while read l;do mkdir $i;mv $l $((i++));done< <(ls|xargs -n100)

或使用 parallel :

ls|parallel -n100 mkdir {#}\;mv {} {#}
-n100一次接受 100 个参数, {#}是作业的序号。

关于shell - 将非常大的目录拆分为 Unix 上的较小目录的单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11173732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com