Alle VCard-Dateien anhand des Dateiinhalts in ein anderes Verzeichnis verschieben (Dateiname ignorieren)

Dieser Befehl identifiziert alle VCard-Dateien in einem Verzeichnis anhand des Dateiinhalts (nicht anhand der Dateiendung) rekursiv mit dem file-Befehl (sucht nach text/vcard-MIME-Typen) und verschiebt diese in ein anderes Verzeichnis.

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

Basierend auf diesem StackExchange-Beitrag. Siehe auch Alle Bilder anhand des Dateiinhalts in ein anderes Verzeichnis verschieben (Dateiname ignorieren) und Alle Videos anhand des Dateiinhalts in ein anderes Verzeichnis verschieben (Dateiname ignorieren) und Alle OOXML- (Word .docx/Excel .xlsx) Dateien anhand des Dateiinhalts in ein anderes Verzeichnis verschieben (Dateiname ignorieren)


Check out similar posts by category: Linux