Como mover todos os arquivos VCard para outro diretório baseado no conteúdo do arquivo, ignorando o nome do arquivo

Este comando identificará todos os arquivos VCard em um diretório por conteúdo do arquivo (não por extensão de arquivo) recursivamente usando o comando file (procurando por tipos MIME text/vcard) e moverá aqueles para um diretório diferente.

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 \;

Baseado em este post do StackExchange. Veja também Como mover todas as imagens para outro diretório baseado no conteúdo do arquivo, ignorando o nome do arquivo e Como mover todos os vídeos para outro diretório baseado no conteúdo do arquivo, ignorando o nome do arquivo e Como mover todos os arquivos OOXML (Word .docx/Excel .xlsx) para outro diretório baseado no conteúdo do arquivo, ignorando o nome do arquivo


Check out similar posts by category: Linux