Перемещение 1M файлов на 5M

Существует ли командная строка для перемещения 1M файлов из каталога с 5M файлов?

Я попробовал:

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

Но я получаю это сообщение: - удар:/usr/bin/sudo: Список аргументов слишком долго

Спасибо.

1
задан 4 October 2018 в 20:54

1 ответ

Можно создать файл сценария оболочки со списком команд для единственных файлов. Это не будет очень быстро, но этот способ, которым Вы избежите проблемы со слишком длинным списком аргументов.

  • Попробуйте сначала меньше чем 1 миллионом команд (например, 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
1
ответ дан 7 December 2019 в 15:13

Другие вопросы по тегам:

Похожие вопросы: