[Rozw.] Kodowanie nazw plików - jak zamienić hurtem

Te, które nie mieszczą się w powyższych kategoriach, a mają coś wspólnego ze Slackware.

Moderatorzy: Moderatorzy, Administratorzy

addos
Użytkownik
Posty: 158
Rejestracja: 2007-09-17, 13:50

[Rozw.] Kodowanie nazw plików - jak zamienić hurtem

Post autor: addos »

Mam plik ZIP w którym jest ok. 200 plików.
Niestety po rozpakowaniu go, polskie ogonki widoczne są jako krzaczki.
W przypadku kilku plików - nie ma problemu - zmieniłbym ręcznie.

Jak to zrobić w konsoli (lub inaczej)?

Aha... powstała drzewiasta struktura katalogów.
Ostatnio zmieniony 2010-05-27, 07:55 przez addos, łącznie zmieniany 1 raz.
Awatar użytkownika
dienet
Moderator
Posty: 2105
Rejestracja: 2007-07-24, 18:58
Lokalizacja: Racibórz/Rybnik

Re: Kodowanie nazw plików - jak zamienić na dużej liczbie pl

Post autor: dienet »

Może coś takiego (rekurencyjnie):

Kod: Zaznacz cały

i=0
zmieniacz()
{
        for name in *
        do
                if [ "$name" == "$0" ]
                then
                        continue
                fi

                if [ -d "$name" ]
                then
                        cd "$name"
                        zmieniacz "$name"
                else
                        echo "$name"
                        let i=i+1
                        echo "$i"
                fi
        done
        cd ..
}

zmieniacz $0
Tracisz stare nazwy, no ale nie wyobrażam sobie, żeby dało się je odzyskać.
Pozdr0
dienet
[img]http://i164.photobucket.com/albums/u19/slawek15/kotekeo0lq3.jpg[/img]
Awatar użytkownika
alekow
Użytkownik
Posty: 268
Rejestracja: 2007-11-30, 17:33
Lokalizacja: Poznań

Re: Kodowanie nazw plików - jak zamienić na dużej liczbie pl

Post autor: alekow »

Można w mc sobie z tym poradzić - zmienić kodowanie po lewej stronie i skopiować na prawą, gdzie jest ustawione systemowe.
chimi
Użytkownik
Posty: 117
Rejestracja: 2005-05-01, 15:49

Re: Kodowanie nazw plików - jak zamienić na dużej liczbie pl

Post autor: chimi »

Wstaw do kodu dieneta

Kod: Zaznacz cały

mv "$name" "$(echo $name | iconv -f cp1250 -t utf8)"
addos
Użytkownik
Posty: 158
Rejestracja: 2007-09-17, 13:50

Re: Kodowanie nazw plików - jak zamienić na dużej liczbie pl

Post autor: addos »

Dla uściślenia: nie chodzi mi o zawartość plików tylko o same ich nazwy.
Pisząc konsola miałem na myśli polecenie, które zmieni serię plików za jednym zamachem.
Nie bawiłem się jeszcze skryptami w Linuksie więc tutaj przyznaję się, że jestem zero.
Ostatecznie polecenie może wykonać się tylko w 1 katalogu na raz.
Mogę ręcznie wejść do kilku katalogów i powtórzyć polecenie ponownie.

@alekow
Sztuczka z mc niestety nie działa. No chyba, że robię coś nie tak.
Awatar użytkownika
alekow
Użytkownik
Posty: 268
Rejestracja: 2007-11-30, 17:33
Lokalizacja: Poznań

Re: Kodowanie nazw plików - jak zamienić na dużej liczbie pl

Post autor: alekow »

Sztuczka z mc niestety nie działa. No chyba, że robię coś nie tak.
wrzuć jakąś przykładową nazwę pliku
addos
Użytkownik
Posty: 158
Rejestracja: 2007-09-17, 13:50

Re: Kodowanie nazw plików - jak zamienić na dużej liczbie pl

Post autor: addos »

ls -la

Kod: Zaznacz cały

Dlaczego ukÅ?ad pokarmowy ma zasadniczy wpÅ?yw na moc ukÅ?adu odpornoÅ?ciowego.doc
MaÅ?achow G. P. - Oczyszczanie organizmu i prawidÅ?owe odżywianie.pdf
MaÅ?achow_Lecznicza gÅ?odówka.doc
OCZYSZCZANIE WÄ?TROBY.doc
Oczyszczenie jelit, regeneracja jelitowej flory bakteryjnej i wÄ?troby.doc
Praktyczny kurs leczenia gÅ?odem.doc
locale

Kod: Zaznacz cały

LANG=pl_PL.UTF-8
LC_CTYPE="pl_PL.UTF-8"
LC_NUMERIC="pl_PL.UTF-8"
LC_TIME="pl_PL.UTF-8"
LC_COLLATE="pl_PL.UTF-8"
LC_MONETARY="pl_PL.UTF-8"
LC_MESSAGES="pl_PL.UTF-8"
LC_PAPER="pl_PL.UTF-8"
LC_NAME="pl_PL.UTF-8"
LC_ADDRESS="pl_PL.UTF-8"
LC_TELEPHONE="pl_PL.UTF-8"
LC_MEASUREMENT="pl_PL.UTF-8"
LC_IDENTIFICATION="pl_PL.UTF-8"
LC_ALL=pl_PL.UTF-8
cat /etc/profile.d/lang.sh

Kod: Zaznacz cały

export LANG=pl_PL.UTF-8
export LC_ALL=pl_PL.UTF-8
export LESSCHARSET=latin1
cat /etc/rc.d/rc.keymap

Kod: Zaznacz cały

/usr/bin/loadkeys -u pl2
cat /etc/lilo.conf | grep utf

Kod: Zaznacz cały

append=" vt.default_utf8=1"
Awatar użytkownika
alekow
Użytkownik
Posty: 268
Rejestracja: 2007-11-30, 17:33
Lokalizacja: Poznań

Re: Kodowanie nazw plików - jak zamienić na dużej liczbie pl

Post autor: alekow »

to "kodowanie utf-8 interpretowane jako iso-8859-1" (według strony http://krzaki.blizinski.pl/).
W lewym oknie mc otwórz folder w którym masz pliki, otwórz jakiś nowy folder w prawym, potem w PRAWYM oknie zmień kodowanie na iso-8859-1 i przekopiuj do niego całość plików. Po tym wystarczy zmienić wyświetlanie w tymże prawym oknie na "default" albo utf-8 i powinno być wszystko w porządku.

ps: może brakować niektórych znaków - jeśli tak jest, to są one nie do odzyskania metodą konwersji.
addos
Użytkownik
Posty: 158
Rejestracja: 2007-09-17, 13:50

Re: Kodowanie nazw plików - jak zamienić na dużej liczbie pl

Post autor: addos »

@alekow

Piękne dzięki :ok: Wszystko jest tak jak napisałeś.
Nie wiedziałem, że w mc trzeba właśnie taką zmianę kodowania wykonać podwójnie (albo sprawdzić efekt w innym programie).
Nie przeglądałem każdego pliku szczegółowo ale wszystko jest poprawnie skonwertowane.

Temat uważam za zamknięty.
Awatar użytkownika
alekow
Użytkownik
Posty: 268
Rejestracja: 2007-11-30, 17:33
Lokalizacja: Poznań

Re: Kodowanie nazw plików - jak zamienić na dużej liczbie pl

Post autor: alekow »

Grunt to wiedzieć co do czego trzeba skonwertować :-)
Pozdrawiam!
ODPOWIEDZ