Получение программного обеспечения из исходного источника при устаревании на apt-get repo

Простой скрипт

#!/bin/bash

for file in ~/path/to/images/*; do
    TYPE=$(file --mime-type -b "$file" | cut -f2 -d/);
    if [[ ! $file =~ \.$TYPE ]]; then
        echo mv -v "$file" "$file.$TYPE";
    fi
done

Объяснение TYPE=$(file --mime-type -b "$file" | cut -f2 -d/); (поиск типа файла)

находит расширение каждого $file с помощью команды file (определить тип файла) .

--mime-type, --mime-encoding опция, используемая для печати только указанного элемента.

-b, --brief вариант, используемый для того, чтобы не добавлять имена файлов в выходные строки (короткий режим). См. Также man-файл для получения дополнительной информации.

Теперь мы извлекли тип файла и сохранили его в переменной TYPE.

man file Используется для печати просто тип расширения, Как png в image/png, выводит результат file --mime-type -b "$file".

-f2 печатает вторую часть с разделителем / (-d) между полями. ex: напечатайте png в image/png. См. Также man file для получения дополнительной информации.

Объяснение if [[...]]; (проверка расширения файла)

Мы пропустили все существующие расширения с простым регулярным выражением, используя оператор =~ внутри теста [[...]] в условии, если условие:

if [[ $file =~ \.$TYPE ]];

Пока $file - это ваши имена файлов изображений, а $TYPE - его расширение, которое мы нашли и сохранили в TYPE переменная в TYPE=$(file --mime-type -b "$file" | cut -f2 -d/);.

Затем мы перейдем к переименованию всех файлов, которые имеют расширение с собой.

! ссылаются на: если файл не имеет расширения расширения с самим собой, тогда переименуйте это и добавьте его расширение в конце его имени.

Объяснение echo mv -v "$file" "$file.$TYPE"; (шаг переименования)

В этой строке На самом деле мы добавляем расширение файла (если $file не является расширением с самим собой) в конце файла $file с помощью команды mv. mv также используется для переименования Files / Directory.

Затем мы переименуем $file в $file.$TYPE. Например, файл 1 будет переименован в 1.png, если его тип файла был png.

in theory actually above mv command do this: rename filename -> filename.filetype

Это имя файла, сохраненное в переменной $file, и тип файла, сохраненный в переменной $TYPE.

Как вы можете использовать этот скрипт?

Скопируйте и вставьте скрипт в gedit и сохраните его с вашим любимым именем ex: batchRename, затем откройте терминал и запустите его следующую команду:

bash batchRename

НЕ забывайте, прежде чем запускать скрипт, проверьте правильный путь к изображению /path/to/images/ и переименуйте свои файлы после проверки результата с помощью команды echo, удалите echo из начало echo mv -v "$file" "$file.$TYPE" и снова запустить сценарий и наслаждаться переименованием;)

0
задан 30 May 2017 в 17:07

0 ответов

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

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