'skandinaaviset kirjaimet'-avainsanan arkisto

[Ratkaisu] Virheellinen merkistökoodaus DVD-levyllä olevien tiedostojen nimissä

Lähtökohta

Minulla on DVD-levy, jolle on poltettu tiedostoja Windowsissa. Tiedostojen joukossa on sellaisia, joiden nimissä on skandinaavisia kirjaimia.

Lataan levyn tietokoneen DVD-asemaan, jolloin se liitetään tiedostojärjestelmään. Avaan levyn sisällön selailtavakseni Nautilus-tiedostoselaimella.

Ongelma
Skandinaavisia kirjaimia sisältävissä tiedostonimissä ne ovat korvautuneet kysymysmerkeillä, ja tiedostonimen perässä lukee (virheellinen merkistökoodaus). Tiedostonimen kopiointi avaamaani Pääte-ikkunaan ei toimi, jos poimin tiedoston Nautiluksen ikkunasta ja vedän ja pudotan sen Pääte-ikkunaan.
Ongelman syy
Levyä ei ole liitetty UTF-8 -merkistökoodausta käyttäen.
Ratkaisu

Muutan /etc/fstab -tiedostossa olevaa CD/DVD -asemani määrittelevää riviä. Ennen muutoksia rivi näyttää seuraavanlaiselta:

/dev/scd0  /media/cdrom0  udf,iso9660  user,noauto,exec  0 0

Lisään liittämisparametreihin merkistökoodauksen, jonka jälkeen rivi näyttää seuraavanlaiselta:

/dev/scd0  /media/cdrom0  udf,iso9660  user,noauto,exec,utf8  0 0

Otan levyn ulos DVD-asemasta, ja lataan sen sitten uudestaan sisään. Kun tämän jälkeen selaan levyn sisältöä Nautiluksella, tiedostonimissä olevat skandinaaviset kirjaimet näytetään kuten pitää, ja sellaisia sisältävien tiedostonimien kopionti Pääte-ikkunaan vetämällä ja pudottamalla toimii.

Huomautus
Tietokoneessa, johon olen asentanut Hardy Heronin siihen päivittämisen sijasta, utf8 -parametri oli fstab-tiedoston DVD-asemamäärittelyssä valmiina.

[Ratkaisu] Skandinaavisten kirjainten korvaaminen tiedostonimissä

Lähtökohta
Minulla on joukko tiedostoja joiden nimissä on ä- ja ö-kirjaimia. Kaikki tiedostonimet koostuvat yksinomaan pienistä kirjaimista, eli kirjainmerkeistä a-ö. Haluan muuntaa nimet siten, että ä:t korvautuvat a-kirjaimilla ja ö:t o-kirjaimilla. Aion käyttää muuntamiseen tr-komentoa.
Ongelma

Tr-komento tulkitsee sille antamiani skandinaavisia kirjaimia sisältäviä muunnossääntöjä väärin ja ennalta-arvaamattomalla vaikuttavalla tavalla. Seuraavassa on tästä esimerkkejä:

$ echo tiedostonnimi-jossa-on-ä | tr ä a
tiedostonnimi-jossa-on-aa
$ echo tiedostonnimi-jossa-on-ää | tr ä a
tiedostonnimi-jossa-on-aaaa
$ echo tiedostonnimi-jossa-on-äö | tr ä a | tr ö o
tiedostonnimi-jossa-on-aaao
$ echo tiedostonnimi-jossa-on-öö | tr ä a | tr ö o
tiedostonnimi-jossa-on-aoao
$ echo tiedostonnimi-jossa-on-öä | tr ä a | tr ö o
tiedostonnimi-jossa-on-aoaa
Ongelman syy
Tr-komento ei tue komentotulkissani käytössä olevaa UTF-8 -koodausta.
Ratkaisu

Käytän tr-komennon sijasta sed-komentoa skandinaavisten kirjainten muuntamiseen, seuraavalla tavalla:

for file in *ä*; do mv $file `echo $file | sed -e 's/ä/a/g'`; done
for file in *ö*; do mv $file `echo $file | sed -e 's/ö/o/g'`; done