cygwin – ls或dir – 限制文件名返回的数量
发布时间:2020-12-14 01:21:57 所属栏目:Linux 来源:网络整理
导读:有没有办法限制使用ls或dir命令返回的文件名数?我在使用cygwin的 windows机器上,所以任何一个命令都可以. 我有一个超过100万个文档的目录,我需要批量处理到子文件夹中.我正在寻找一个简单的脚本,列出前20,000个左右,将它们移动到子文件夹,然后重复下一个20,
有没有办法限制使用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结尾的文件 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |