ami kitalálja a kiterjesztéseket

Fórumok

Sziasztok!

Van egy csomó fájlom, aminek elvesztek a nevei és kiterjesztései.
Tudtok valami jó progit ami megbecsüli a kitejresztéseket?
Elöre is köszönöm.

Hozzászólások

A -b és a --mime-type kapcsolókkal megoldható.

Valami ilyesmire gondoltam:


#!/usr/bin/env bash

DEST=tmp
if [ ! -d "$DEST" ] ; then
    mkdir $DEST
fi
IFS="
"

for i in * ; do
    TYPE=`file -b --mime-type "$i" | sed "s/\//\-/"`
    if [ ! -d "$DEST/$TYPE" ] ; then
        mkdir "$DEST/$TYPE"
    fi
    mv $i "$DEST/$TYPE/"
done

Ezután -- elviekben -- az azonos típusú fájlok azonos könyvtárba kerülnek, és a könyvtárban lévő minden fájl ugyanazt a kiterjesztés kapja. (Szintén egy for ciklussal.) A scriptet lehet még csinosítani, de nagyjából működik.

Hátrány: Ha 50 könyvtár keletkezett, akkor 50-szer kell megtenni a kiterjesztések hozzáadását. (Vagy erre is írunk egy scriptet.) Továbbá már futottam bele, hogy a file parancs egy .odt fájlt zip fájlnak nézett. Ez utóbbi nem meglepő, mert az tulajdonképpen egy zip fájl. De a szöveges fájlokkal is nehezen boldogul. Ha például "#include ..." van az elején, akkor nagy esély van rá, hogy C fájlnak fogja nézni.

-----
A kockás zakók és a mellészabások tekintetében kérdezze meg úri szabóját.

Perl es

File::MimeInfo vagy File::Type, de egyik sem lesz 100%.

--
A gyors gondolat többet ér, mint a gyors mozdulat.