Что означает `{\} {}` в команде `find`?

Пожалуйста, объясните эту команду подробно.

Я использую эту команду, чтобы найти большие файлы размером более 6 МБ и разделить их на куски 5 МБ в одной папке. Затем он удаляет исходные файлы (более 6 МБ) в том же каталоге.

find . -size +6M -exec split -d -b 5M {\} {}-part \; | find . -size +6M -exec rm -rf {} \; 

Я не имею понятия о цели следующей части команды:

 {\} {} 

Моя цель – разработать скрипт для резервного копирования доменов Virtualmin в ведра Amazon S3 ежемесячно.

Из-за ограничения PUT на 5 ГБ на Amazon S3 мне нужно разбить резервные копии домена ( tar.gz ) размером менее 5 ГБ.

One Solution collect form web for “Что означает `{\} {}` в команде `find`?”

Из справочной системы поиска :

Строка `{} 'заменяется на текущее имя файла, которое обрабатывается везде, где оно встречается в аргументах команды …

Таким образом, первая часть команды find ищет файлы размером более 6 МБ и выполняет ( -exec ) split на каждый найденный файл.

Например, если найденный файл является ./path/to/file , выполняемая команда будет:

 split -d -b 5M ./path/to/file ./path/to/file-part 

{} заменяет местозаполнитель файлом. {\} нужно, это может быть {} .

Во второй команде find – после трубы ( | ) – команда find вызывает rm -rf для каждого файла.

  • Как я могу запустить определенную команду для каждого результата поиска?
  • Получить список подкаталогов, содержащих файл, соответствующий строке
  • Как искать текстовый файл для определенного целого
  • Полнотекстовая индексация командной строки?
  • Помощь в командах UNIX - найти
  • Как я могу превратить инструмент `file` в предикат для` find`?
  • apropos regex начать с?
  • Grep для строки в файле без использования трубы
  • Howto рекурсивно создает PDF-файлы thumnbails в командной строке Linux
  • Есть ли в Linux файловая поисковая система, такая как «Все»?
  • «Find» пересекает каталог, если используется «-not -path» * / FolderName / * "'?
  • Linux и Unix - лучшая ОС в мире.