hromadné odstraňovanie diakritiky

Sekcia: Konfigurácia 24.07.2011 | 11:18
Avatar Stanislav Hoferek Greenie, Manjaro, Q4OS, Lubuntu  Používateľ
Pekný deň prajem, hľadám niečo (alebo skôr niekoho, kto by s tým pomohol) na 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
    • Re: hromadné odstraňovanie diakritiky 24.07.2011 | 12:37
      Peter S.   Návštevník
      samotné odstranovanie diakritiky - skus mrknut na tento konkurenčný portál: http://www.abclinuxu.cz/poradna/linux/show/49287

      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.
    • Re: hromadné odstraňovanie diakritiky 24.07.2011 | 12:59
      Avatar Lukáš Staňa Arch, CentOS, Debian  Používateľ
      Ja to robievam pomocou iconv takto:
      iconv -f UTF-8 -t US-ASCII//TRANSLIT SUBOR > NOVY_SUBOR
      Tu to naozaj nemá ani kultúru ani úroveň
      • Re: hromadné odstraňovanie diakritiky 24.07.2011 | 19:35
        Avatar Stanislav Hoferek Greenie, Manjaro, Q4OS, Lubuntu  Používateľ
        ďakujem obidvom. nejako som sa to snažil všelijako pokombinovať a funguje to :) Moc ďakujem. Výsledný "skript":


        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 :)
        • Re: hromadné odstraňovanie diakritiky 27.07.2011 | 02:32
          Avatar bedňa antiX, Devuan, LegacyIce  Administrátor
          Nemá to ďaleko od dokonalosti, ono je to jediné použiteľné riešenie, pretože všetky ostatné nástroje bohužiaľ sklamú.
          Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org