Как включить каталоги и подкаталоги в пакетном файле

Я бы рекомендовал partimage. Вы можете загрузиться, установить partimage и скопировать свои разделы. Что мне действительно нравится в этом программном обеспечении, так это то, что его довольно легко обрабатывать (он полуграфичен :-)), и он быстрый, потому что он копирует только непустые блоки. Другими словами, вы можете скопировать 10Gb-раздел на более крупный (на ваш новый диск) один без особых проблем.

Установите его с помощью apt-get. подробнее здесь: http: / /www.partimage.org/

0
задан 11 May 2018 в 08:48

2 ответа

С помощью bash вы установили опции оболочки globstar и nullglob и **, чтобы рекурсировать в подкаталоги:

shopt -s globstar nullglob for mkvfile in **/*.mkv; do mkvpropedit "$mkvfile" -e info -s title="${mkvfile::-4}" done

См. 4.3.2. Shopt Builtin в руководстве .

Обратите внимание, что вы также можете использовать ${mkvfile%.mkv}, чтобы отключить расширение.

Вы также можете использовать find, но я думаю, что он становится довольно уродливым

find . -name '*.mkv' -exec sh -c 'mkvpropedit "$1" -e info -s title="$(basename "${1%.mkv}")"' sh {} \;
2
ответ дан 17 July 2018 в 14:38

С помощью bash вы установили опции оболочки globstar и nullglob и **, чтобы рекурсировать в подкаталоги:

shopt -s globstar nullglob for mkvfile in **/*.mkv; do mkvpropedit "$mkvfile" -e info -s title="${mkvfile::-4}" done

См. 4.3.2. Shopt Builtin в руководстве .

Обратите внимание, что вы также можете использовать ${mkvfile%.mkv}, чтобы отключить расширение.

Вы также можете использовать find, но я думаю, что он становится довольно уродливым

find . -name '*.mkv' -exec sh -c 'mkvpropedit "$1" -e info -s title="$(basename "${1%.mkv}")"' sh {} \;
2
ответ дан 20 July 2018 в 14:42
  • 1
    Получение ошибки shopt: не найден, Плохая замена – TheMegolith 10 May 2018 в 22:33
  • 2
    Вы используете /bin/bash или /bin/sh? shopt является специфичным для bash. – glenn jackman 10 May 2018 в 22:34
  • 3
    / bin / bash - то же, что и в примере кода. – TheMegolith 10 May 2018 в 22:35
  • 4
    найти . -name '* .mkv' -exec sh -c 'mkvpropedit & quot; $ 1 & quot; -e info -s title = & quot; $ {1% .mkv} & quot; sh {} \; Работает как шарм, но также ставит путь к каталогу в имени метаданных. – TheMegolith 10 May 2018 в 22:37
  • 5
    Глупо мне, у меня была опечатка в новом сценарии. Извиняюсь, ваш скрипт работает отлично. После исправления ошибки нет. ;) – TheMegolith 10 May 2018 в 22:42

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

Похожие вопросы: