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

cygwin – ls或dir – 限制文件名返回的数量,第1张

概述有没有办法限制使用ls或dir命令返回文件名数?我在使用cygwin的 windows机器上,所以任何一个命令都可以. 我有一个超过100万个文档的目录,我需要批量处理到子文件夹中.我正在寻找一个简单的脚本,列出前20,000个左右,将它们移动到子文件夹,然后重复下一个20,000.我希望ls或dir可以选择只列出一定数量的文件,但我似乎找不到办法. 我的另一个选择是将文件名打印到文本文件并解析 有没有办法限制使用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 – 限制文件名返回的数量全部内容,希望文章能够帮你解决cygwin – ls或dir – 限制文件名返回的数量所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1027509.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存