У меня есть папка, полная папок, и некоторые из этих папок могут иметь или не иметь папки в них. Это выглядит примерно так:

~/stuff/01.d/01/files
~/stuff/02.d/files
~/stuff/03.d/files
~/stuff/04.d/lol/files
~/stuff/05.d/files

Я хочу сделать отдельные .rars для каждой из папок в ~/stuff , поэтому я собирался сделать for f in *.d; do rar a "${f//.d/.rar}" "$f"; done что работало отлично, и дал мне rars. Но я бы предпочел, чтобы в rars не было никакой структуры каталогов, только файлы. Есть простой способ сделать это? Казалось, что один из переключателей выглядел так, как будто он сделал то, что я хотел, но справочная страница немного сбивает с толку. Я попробую несколько вещей.

Я могу закончить тем, что пытаюсь выяснить сценарий bash для cd в каталог, проверить, являются ли это файлы, если это так, сделать .rar в родительском (../$ndomf//.d/.rar}), иначе зайдите в каталог снова и сделайте rar двумя родителями (../../${f//.d/.rar}). В этом случае я бы хотел, чтобы rar a ../"${f//.d/.rar}" * Думаю, я не проверял это.

1 ответ1

2

Я думаю, что вы хотите переключатель -ep :

for f in *.d; do rar a -ep "${f//.d/.rar}" "$f"; done

Это даст вам RAR для каждого каталога, без структуры каталогов внутри них ("ep" = "исключить пути из имен").

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .