Как переместить все VCard-файлы в другую директорию на основе содержимого файла, игнорируя имя файла

Эта команда идентифицирует все VCard-файлы в директории по содержимому файла (не по расширению файла) рекурсивно с использованием команды file (ищет MIME-типы text/vcard) и переместит их в другую директорию.

move_vcards_by_type.sh
mkdir -p ../VCards && find . -type f -exec sh -c '
    case $( file -bi "$1" ) in (text/vcard*) exit 0; esac
    exit 1' sh {} \; -exec mv -v --backup=numbered {} ../VCards \;

Основано на этом посте StackExchange. См. также Как переместить все изображения в другую директорию на основе содержимого файла, игнорируя имя файла и Как переместить все видео в другую директорию на основе содержимого файла, игнорируя имя файла и Как переместить все OOXML (Word .docx/Excel .xlsx) файлы в другую директорию на основе содержимого файла, игнорируя имя файла


Check out similar posts by category: Linux