hromadné odstraňovanie diakritiky
Konkrétne hľadám niečo, čo dokáže urobiť niečo takéto, popísané v ľudskej reči:
1) vytvoriť priečinok nazvaný ascii
2) skopírovať txt súbory do tohto priečinku
3) vôjsť do neho
4) odsrániť diakritiku, nahradením á za a, é za e a podobne
5) prepísať názov súboru tak, že zmení koncovku z txt na ascii alebo na názov-ascii.txt
Ako na to? Prvé tri kroky sú jednoduché, no ďalšie dva veru neviem.
mkdir ascii && cp *.txt ascii && cd ascii && vyhádzať-diakritiku *.txt && zmeniť názov *.txt *-ascii.txt
Pre pridávanie komentárov sa musíte prihlásiť.
a nemal by si sa snažiť urobiť z toho oneliner, načo je ti to dobré...
samotne premenovanie by si mohol urobiť takto:
for file in `ls *txt`; do
newfilename=`echo $file | sed s/txt/asci/`
# alternatívne sed s/txt/-asci.txt/
mv $file $newfilename
done
respektive celý skript urob ako iterovanie po jedntlivých súboroch.
iconv -f UTF-8 -t US-ASCII//TRANSLIT SUBOR > NOVY_SUBOR
iconv -f UTF-8 -t US-ASCII//TRANSLIT vodna-planeta-prva-kniha.txt > vodna-planeta-prva-kniha-ascii.txt
iconv -f UTF-8 -t US-ASCII//TRANSLIT vodna-planeta-druha-kniha.txt > vodna-planeta-druha-kniha-ascii.txt
iconv -f UTF-8 -t US-ASCII//TRANSLIT vodna-planeta-tretia-kniha.txt > vodna-planeta-tretia-kniha-ascii.txt
iconv -f UTF-8 -t US-ASCII//TRANSLIT linux-ako-nieco-navyse.txt > linux-ako-nieco-navyse-ascii.txt
iconv -f UTF-8 -t US-ASCII//TRANSLIT sachove-minimum.txt > sachove-minimum-ascii.txt
iconv -f UTF-8 -t US-ASCII//TRANSLIT wesnoth-prirucka.txt > wesnoth-prirucka-ascii.txt
Stačí to pustiť v tom istom priečinku a urobí to upravené kópie s akýmkoľvek názvom. Ďaleko od dokonalosti, ale funguje :)