Копировать файлы с определенным расширением от многих вложенных подпаментов в один каталог и добавить к каждому скопированному файлу имя каталога

Обычно, когда вы устанавливаете Qt через apt-get install libqt4-gui , библиотека libxcb.so извлекается как зависимость. Попробуйте запустить эту команду (снова?), И если apt-get жалуется на какие-либо аномалии, попробуйте исправить их с помощью apt-get -f install . Надеюсь, это поможет.

0
01.08.2018, 15:26
1 ответ
find. -type f '(' -name '*.bmp' -o -name '*.jpg' ')' -exec sh -c '
    for pathname do
        newname="${pathname%/*}_${pathname##*/}"  # a/b/c/d.bmp --> a/b/c_d.bmp
        newname="target/${newname##*/}"           # a/b/c_d.bmp --> target/c_d.bmp

        printf "Would move %s to %s\n" "$pathname" "$newname"
        # mv -i "$pathname" "$newname"
    done' sh {} +

Это находит все обычные файлы, имена которых заканчиваются на .jpgили .bmp. Для пакетов этих файлов выполняется короткий сценарий оболочки.

Сценарий оболочки извлекает путь к каталогу каждого файла вместе с его именем файла и объединяет два с символом подчеркивания в -между ними. Это формирует новое имя. Затем новое имя обрезается из его начальных каталогов, оставляя только имя файла, и к нему добавляется путь к целевому каталогу.

Конечная mvзакомментирована в целях безопасности. Запустите это один раз, закомментировав его, чтобы убедиться, что он работает правильно.

Связанные:

0
28.01.2020, 04:15

Теги

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