Detox - állománynév tisztító (CLI)

A fájl nevek tisztítása már volt téma, pár megoldást már láttunk. Most egy egyszerű programot a detox nevűt mutatom be. Itt is igaz: csak az alapokat, mert akinek tetszik a helpet elolvassa, akinek meg nem, neki felesleges a túl sok szöveg.

Az alapvető problémával már mindenki találkozott. A fájlok neveiben jó esetben space van, ami jól javítható. De sok esetben különféle zagyva jelek, amiket nem használunk és csak csúnyítják a nevet. Sok esetben olyan karakter is belekerülhet, ami nem csak zagyva kinézetet ad, de a feldolgozást is zavarja. Akár a shell, akár pedig egy szkript értelmezheti ezeket vezérlő karaktereknek, amiket megpróbál értelmezni. Bár sok esetben ezt kicselezhetjük különféle idézőjelekkel, de ez nem a legkényelmesebb és a leghatékonyabb módja.

A legjobb, ha csak olyan karakter szerepel, ami nem okoz semmi problémát.

A megoldás: detox

Azaz detoxikáljuk a fájlok neveit. A detox nem alap telepítés, de nagy a valószínűsége, hogy a nagyobb Linux disztribúciókban benne lesz. A telepítése evidens, a megfelelő paranccsal fel kell rakni.

A megfelelő paranccsal telepítheted a detoxot a rendszer csomagkezelőjével:

A detox telepítése Ubuntu , Debian és Linux Mint rendszeren :

apt install detox

A detox telepítése Fedora , CentOS , AlmaLinux és Red Hat rendszereken:

dnf install detox

A detox telepítése Arch Linuxra és Manjarora :

pacman -S detox

Ha nem ugrik be azonnal a parancs, amivel telepíthetsz, érdemes lenne a parancssori alap parancsokat átnézned. Ezek nélkül lehet Linuxot használni, de nem érdemes.

Az első lépés:

detox -h

man detox

Szokjuk meg ezek használatát. A legtöbb leírás nem egy komplett gépkönyv, nincs is nagy értelme leírni a man(ual) és a help tartalmát újra. Így csak kivonatot kapsz a lehetőségekből. Ha egyszer átnézed a man(ual) tartalmát, akkor már az összes lehetséges opciót megismered.

Most, hogy a detox telepítve van, nézzük meg, hogyan kell használni a parancsot a fájlnevek megtisztításához Linuxon.

Egy próba soha nem árt.

detox akármilyenkatyvasz.txt

Ezek után már nem lesz nem szabályos karakter a fájl nevében.

Ami fontos: alapértelmezés szerint a detox parancs eltávolítja a szóközöket aláhúzásjelekkel helyettesítve, eltávolítja a CGI karaktereket, megtisztítja a Latin-1 (ISO 8859-1) karaktereket, megtisztítja a 8 bites ASCII karakterekkel kódolt neveket, eltávolítja a speciális karaktereket, mint pl. “&” és egyéb dolgokat.

Logikus, és szerintem senkinek nem okoz meglepetést: a detox kezeli a megszokott fájl szűréseket is:

detox minta*.txt

detox *.txt

detox *

Így nem csak egy, hanem a mintára illeszkedő fájlok tömegét is kezelni tudjuk. Ezzel óvatosan bánj, mert esetleg rendszerfájlokat, konfigurációs fájlokat is átnevezhetsz, ha a minta illeszkedő. Ez nem lenne jó, hiszen akkor a rendszer, vagy az adott program, aminek a konfigját pld. szóköztelenítetted nem fog működni.

Így ha sok fájlt akarsz egyben átnevezni, akkor a detox éles futtatása előtt a detox -n kapcsolóval indítása, azaz a teszt üzemmód használata jó ötlet lesz. Ilyenkor csak kiírja az eredményt, de nem írja át a neveket.

Hasonló kapcsoló a megszokott -r, ami a rekurzív módot kapcsolja be. Ez megtisztítja az összes alkönyvtár nevét, valamint az összes bennük lévő fájlt. Legyél óvatos, ha ezt egy nagy könyvtáron, vagy rendszer könyvtáron használva, mivel a fontos rendszerfájl nevek szerkesztése károsíthatja a rendszeredet.

Általában a Linux programok nem túl bőbeszédűek, így csak akkor kapsz kiírást, ha probléma van. Ha szeretnél mindenről kijelzést kapni a bőbeszédű módot érdemes bekapcsolni a -v kapcsolóval. Így minden apró lépésről kapsz infót.

Alapesetben nincs szükség konfigurációra, illetve egyéb kapcsolóra. A konfigurációs állománya az /etc/.detoxrc állomány, ahol pár beállítást lehet megtenni. Egy, az utolsó lehet érdekes:

ignore {
    filename ".arch-params";
    filename ".evolution";
    filename ".gnome";
    filename ".mozilla";
    filename ".themes";
    filename "{arch}";
};

Itt a kihagyandó kiterjesztéseket adhatjuk meg. Mivel én minimális szinten használom (távolítsa el a katyvaszt a fájlnévből) erre nem nagyon lesz szükségem.

A programot 2022. szeptemberében MX Linux alatt próbáltam ki.