Fájlnevek és fájlok karakterkódolása


Az UTF8 megjelenésével számos esetben gondot okozhat az átállás. Az alábbi gyűjteménnyel könnyebb a feladat. Mindenképp érdemes UTF8-ra váltani és mindent abban tárolni, hiszen az összes karaktertáblát magában foglalja.

 

Szöveges fájl (pl. txt) kódolásának megváltoztatásának lehetőségei

iconv -f ISO-8859-2 -t UTF-8 in.txt > out.txt

Helyben átalakítja:

recode ISO-8859-2..UTF-8 file.txt

Tömeges átkódolás:

recode ISO-8859-2..UTF-8 *.txt

 

Fájénevek átkódolása

ISO-8859-2 (latin2) karakterkódolású fájlnévből UTF-8 fájlnevet készít. Rekurzívan az összes fájlon és almappán elvégzi.

convmv --notest -f latin2 -t utf8 -r /mappa

 

Ékezetek és felesleges szóközök eltávolítása

Nem rekurzív, csak adott mappa fájljain végzi el.

#!/bin/sh
 

IFS="

"

# Aláhúzásjelek a szóközök helyett
for i in *; do mv "$i" `echo $i | tr ' ' '_'`; done

#Ékezetek megszüntetése
for i in *; do mv "$i" "$(echo $i | sed -e 'y/áéíóöőúüűÁÉÍÓÖŐÚÜŰ /aeiooouuuAEIOOOUUU_/')"; done

# Kisbetűk a nagyokből
for i in *; do mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`; done

# A "_-_" karakterek cseréje "-" -re
for i in * ; do mv "$i" `echo $i | sed s/_-_/-/g` ; done

# A "__" karakterek cseréje "_" -re
for i in * ; do mv "$i" `echo $i | sed s/__/_/g` ; done

# A ".-" karakterek cseréje "-" -re
for i in * ; do mv "$i" `echo $i | sed s/.-/-/g` ; done

 

Címkék