Terminal pogryzł człowieka: detox

Niekiedy dziedziczymy albo odkrywamy zestaw plików o tak zaniedbanych nazwach, że aż gotuje się w nas poczucie przyzwoitości. Używanie w nazwach spacji to najmniejszy grzech – znaki specjalne, średniki, cudzysłowy, itp. Niechlujność niektórych użytkowników nie zna granic, a czasem nawet i programy nie pozostają bez winy. Jak to posprzątać i unormować? Najlepszym rozwiązaniem może okazać się nadzwyczaj skuteczny detox.

Detox to niewielki program, który potrafi hurtowo zamienić ciągi nieprzyzwoitych znaków w nazwach plików. Na dodatek jest bezpieczny w użyciu, gdyż w domyślnym jego wywołaniu i bez żadnych opcji nie jesteśmy w stanie nic sobie zepsuć (pliki nie znikną, nie zostaną nadpisane, itp.). Tym narzędziem automatycznie zamienimy znaki z którymi ciężko pracować (spacje, wspomniane cudzysłowy, znaki specjalne) na bardziej standardowe odpowiedniki (czyli np. zamiana spacji na _). Program oczyści również wizerunek plików z wszelkich natywnych naleciałości standardu UTF-8 i CP-1252 (a ludzie z CP-1252 na pokładzie to dopiero potrafią śmiecić).

Próbka możliwości?

#~/test$ ls
2".txt £§®.avi ósmy plik ósmego użytkownika:).txt "proba proba nr 1.txt "proba nr 2".txt test?#:::$.txt to.jest.wazne.xls

#~/test$ detox -v *
Scanning: 2".txt
2".txt -> 2_.txt
Scanning: £§®.avi
£§®.avi -> pound_reg_.avi
Scanning: ósmy plik ósmego użytkownika:).txt
ósmy plik ósmego użytkownika:).txt -> osmy_plik_osmego_uzytkownika-.txt
Scanning: "proba
"proba -> proba
Scanning: proba nr 1.txt
proba nr 1.txt -> proba_nr_1.txt
Scanning: "proba nr 2".txt
"proba nr 2".txt -> proba_nr_2_.txt
Scanning: test?#:::$.txt
test?#:::$.txt -> test_#_.txt
Scanning: to.jest.wazne.xls

#~/test$ ls
2_.txt osmy_plik_osmego_uzytkownika-.txt pound_reg_.avi proba proba_nr_1.txt proba_nr_2_.txt test_#_.txt to.jest.wazne.xls

To wszystko uzyskujemy bez żadnych parametrów (-v pokazuje która nazwa na co zostanie zamieniona). Jeżeli ktoś zechce doprecyzować działanie polecenia detox, to może posłużyć się krótką ściągawką:

usage: detox [-hLnrvV] [-f configfile] [-s sequence] [--dry-run] [--special]
          file [file ...]

        -f configfile   choose which config file to use
        -h --help       this message
        -L              list available sequences and exit
                        with -v ... dump sequence contents
        -n --dry-run    do a dry run (don't actually do anything)
        -r              be recursive (descend into subdirectories)
        --remove-trailing (deprecated)
                        remove trailing _ and - before a period
        -s sequence     choose which sequence to detox with
        --special       work on links and special files
        -v              be verbose
        -V              show the current version

Detox znajdziemy w podstawowych repozytoriach większości dystrybucji – nie powinny wystąpić zatem żadne trudności w jego zainstalowaniu.
 

5 komentarzy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Post comment

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.