Нужен сценарий оболочки для копирования файлов с длинными именами и именами

У меня есть каталог файловой системы NTFS, который содержит файлы с короткими и длинными именами, я ввел команду копирования для этой директории, которая будет скопирована в файловой системе Ext2, файлы с короткими именами скопированы без проблем, но файлы с длинными именами были сбой, Я получил ошибку «Имя файла слишком долго», потому что число этих файлов слишком велико. Мне нужен сценарий оболочки для решения проблемы в два этапа:

1-Copy, а затем удалите скопированные файлы с короткими именами (я знаю, что команда move делает это, но я хочу использовать команду копирования)

2 – Удалите от 15 до 20 символов с конца имен оставшихся файлов с длинными именами, после чего я повторю шаги до тех пор, пока все файлы не будут скопированы.

Спасибо.

One Solution collect form web for “Нужен сценарий оболочки для копирования файлов с длинными именами и именами”

Чтобы скопировать и усечь имена файлов на лету, вы можете сделать следующее:

cd /src && LC_ALL=C pax -rws'|\([^/]\{255\}\)[^/]*|\1|g' ./* /dst/ 

для усечения до 255 байтовых компонентов пути.

Обратите внимание, что он может обрезать имя файла в середине символа, если в этих именах файлов есть многобайтные символы.

Он также обновит цели символических ссылок (хотя я не уверен, что ntfs поддерживает символические ссылки).

Обратите внимание, что вы можете получить файлы, переписывающие друг друга, если несколько файлов имеют одинаковые первые 255 байт.

  • Как написать скрипт для выполнения файлов в нескольких каталогах
  • Меню Zenity Shell для более 50 серверов, как оставаться в меню сервера?
  • Сценарий для удаления текстовых файлов
  • UNIX - команда разбивать файл на несколько файлов со всеми строками для каждых 3 уникальных значений в столбце
  • одновременно выполнять одну и ту же команду для нескольких файлов
  • Выполнение задания Cron, но не создание туннеля
  • Параллельный для долгого фильтра
  • Bash: Назначение переменной не похоже на «stick»
  • Преобразование координат GPS с помощью сценария bash
  • Почему «$ Namefile» дает мне такой результат?
  • Выход демона трубы в функцию
  • Можно ли периодически менять PS1 по сценарию в фоновом режиме?
  • Linux и Unix - лучшая ОС в мире.