在 5M 上移动 1M 的文件

在 5M 上移动 1M 的文件

是否有命令行可以从包含 5M 文件的目录中移动 1M 的文件?

我试过:

sudo mv `ls | head -1000000` <destination>

但是我收到此消息:-bash:/usr/bin/sudo:参数列表太长

谢谢。

答案1

您可以创建一个shell脚本包含单个文件的命令列表的文件。它不会很快,但这样可以避免参数列表过长的问题。

  • 首先尝试少于 100 万个命令(例如 15),以检查它是否正常工作。
  • 修改/path/to/sourcedir/path/to/targetdir以匹配您的实际目录。

find /path/to/sourcedir -maxdepth 1 -type f -printf "mv \"%p\" /path/to/targetdir\n" | head -n 15 > myscript

使脚本可执行

chmod ugo+x myscript

运行脚本

./myscript

相关内容