Создать RAR без структуры каталогов из командной строки

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

~/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 двух родителей (../../$ndomf//.d/.rar}). В этом случае я бы хотел rar a ../"${f//.d/.rar}" * Я думаю, я не проверял это.

1 ответ

Решение

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

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

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

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