Это непроверенный код, используемый только с 'echo', так как я не люблю заканчивать несколькими zip-файлами. И это синтаксис phantasy zip, так как я не знаю 7za, но я объясню:
find . -type d -execdir /.../ad-hoc.sh {} ";"
Скрипт adhhoc.sh должен быть адресован абсолютным путем и не должен находиться в текущий путь, чтобы не повлиять на результат, но он может быть в parentdir:
find . -type d -execdir $PWD/../ad-hoc.sh {} ";"
и, если не выполнен исполняемый, должен быть явно вызван:
find . -type d -execdir bash $PWD/../ad-hoc.sh {} ";"
Найти будет выглядеть в текущем каталоге, только для файлов типа d (dirs), где -execute bashscript с параметром {}, найденный каталог.
Хорошо - что такое adhhoc.sh, мы выполняем в каталоге и subdirs? Это еще одна находка:
#!/bin/bash
dir=$1
find $dir -maxdepth 1 -type f -exec echo zip -o "$dir.zip" {} +
-maxdepth 1 предотвращает поиск поддисков, тип говорит, что просто работает с файлами. -exec запускает команду для тестирования «echo zip ...», но если она выглядит многообещающей (вы делаете резервные копии часто, не так ли?), вы ... ну вот, здесь начинается мой псевдо-код: -o: = -output «$ PWD.zip», а {} + - список файлов.
tree
.
├── buch-klein.kry
├── buch.kry
├── crypt
│ ├── moveto.sh.crypt
│ └── sub1
│ ├── foo.crypt
│ └── sub2
│ └── bar.crypt
├── original
│ ├── 1
│ │ └── 2
│ │ └── 3
│ ├── moveto.sh
│ └── sub1
│ └── sub2
│ └── up3 -> ../../../nr
├── outputfile.txt
├── rot.sh
└── zoom.sh
find . -type d -execdir $PWD/../ad-hoc.sh {} ";"
zip -o ./..zip ././buch-klein.kry ././rot.sh ././buch.kry ././zoom.sh ././outputfile.txt
zip -o ./original.zip ./original/moveto.sh
zip -o ./crypt.zip ./crypt/moveto.sh.crypt
zip -o ./sub1.zip ./sub1/foo.crypt
zip -o ./sub2.zip ./sub2/bar.crypt
Каждый файл с расширением является обычным файлом, и каждый файл без него является каталогом или символической ссылкой на каталог (вверх3).
{} должен быть последний элемент команды find -exec перед завершающим «;» или +, поэтому вам нужно построить свою 7z-команду соответственно.
, поэтому, если ваша команда 7za -
7za a -t7z -r $dir.7za *
, adhhoc.sh может выглядеть так:
#!/bin/bash
dir=$1
find $dir -maxdepth 1 -type f -exec echo 7za -t7z -r "$dir.7za" {} +
Может быть, это поможет кому-то. В конце концов мне удалось установить драйверы nvidia:
Я пошел в addition drivers и выбрал драйвер nvidia, после чего я пошел:
sudo gedit /etc/default/grub
, и я убедился, что я имеют следующие строки:
GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi=force"
GRUB_CMDLINE_LINUX="acpi=force"
Я установил acpi в off. Я понятия не имею, почему :) Это было случайное предположение, чтобы поместить его в force, и он исправил мою проблему, которую я описал в вопросе. Может быть, кто-то даст правильное объяснение этому.
Может быть, это поможет кому-то. В конце концов мне удалось установить драйверы nvidia:
Я пошел в addition drivers и выбрал драйвер nvidia, после чего я пошел:
sudo gedit /etc/default/grub
, и я убедился, что я имеют следующие строки:
GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi=force"
GRUB_CMDLINE_LINUX="acpi=force"
Я установил acpi в off. Я понятия не имею, почему :) Это было случайное предположение, чтобы поместить его в force, и он исправил мою проблему, которую я описал в вопросе. Может быть, кто-то даст правильное объяснение этому.
Может быть, это поможет кому-то. В конце концов мне удалось установить драйверы nvidia:
Я пошел в addition drivers и выбрал драйвер nvidia, после чего я пошел:
sudo gedit /etc/default/grub
, и я убедился, что я имеют следующие строки:
GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi=force"
GRUB_CMDLINE_LINUX="acpi=force"
Я установил acpi в off. Я понятия не имею, почему :) Это было случайное предположение, чтобы поместить его в force, и он исправил мою проблему, которую я описал в вопросе. Может быть, кто-то даст правильное объяснение этому.