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.