gpt4 book ai didi

cygwin - ls 或 dir - 限制文件名返回的数量

转载 作者:行者123 更新时间:2023-12-02 08:53:55 25 4
gpt4 key购买 nike

有没有办法限制使用 ls 或 dir 命令返回的文件名数量?我在带有 cygwin 的 Windows 机器上,所以任一命令都可以。

我有一个包含超过 100 万个文档的目录,我需要将其批量放入子文件夹中。我正在编写一个简单的脚本,列出前 20,000 个左右,将它们移动到子文件夹中,然后重复接下来的 20,000 个。我希望 ls 或 dir 能够选择仅列出一定数量的文件,但我似乎找不到方法来做到这一点。

我的另一个选择是将文件名打印到文本文件中并解析它以进行移动。看来应该有一个更简单的解决方案。

最佳答案

如果您使用 cygwin,您应该能够使用 head 命令,如下所示:

ls | head -20000

列出前 2 万个。

如果您想在 1 个命令行中移动批处理,类似这样的操作应该可行:

ls | head -20000 | xargs -I {} mv {} subdir

(其中 subdir 是要将文件移动到的子目录)。

在运行实际移动之前,先运行此命令(使用 echo 命令)以验证其是否有效:

ls | head -20000 | xargs -I {} echo mv {} subdir

但是要小心,因为您要将文件移动到子目录中,因为“ls”命令也可能会获取您的子目录。

如果它们都是txt文件,你可以这样做:

ls | grep txt$ | head -20000 | xargs -I {} mv {} subdir

获取以txt结尾的文件

关于cygwin - ls 或 dir - 限制文件名返回的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6458302/

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