środa, 26 grudnia 2012

Skrypt do usunięcia spacji oraz polskich znaków z nazw plików

Od czasu do czasu wykonuje działania na plikach i niektóre skrypty/programy nie radzą sobie ze spacjami lub też polskimi znakami.




Zdarza mi się regularnie konwertować pdfy do txt, ponieważ kindle czasami nie radzi sobie z dużymi pdfami (wiesza się), oraz gdy mam książkę w formacie txt mogę dowolnie modyfikować wielkość czcionki (przy pdfach tej opcji w kindle nie ma).



Powyższe skłoniło mnie do przeszukania zasobów internetu w celu znalezienia metody automagicznej zmiany nazw plików co zaowocowało następującym skryptem:




#!/bin/bash
rename 's/ą/a/g' *.* ;
rename 's/ę/e/g' *.* ;
rename 's/ś/s/g' *.* ;
rename 's/ż/z/g' *.* ;
rename 's/ź/z/g' *.* ;
rename 's/ł/l/g' *.* ;
rename 's/ó/o/g' *.* ;
rename 's/ń/n/g' *.* ;
rename 's/ć/c/g' *.* ;
rename 's/Ą/A/g' *.* ;
rename 's/Ę/E/g' *.* ;
rename 's/Ś/s/g' *.* ;
rename 's/Ż/Z/g' *.* ;
rename 's/Ź/Z/g' *.* ;
rename 's/Ł/L/g' *.* ;
rename 's/Ó/O/g' *.* ;
rename 's/Ń/N/g' *.* ;
rename 's/Ć/C/g' *.* ;
rename 's/ /_/g' *.* ;





Przykład wykonania skryptu:
root@diabel:/home/pawel/ren# touch "ęśĘŚĆŹŻżóÓŁ wesś.txt"
root@diabel:/home/pawel/ren# ls
ęśĘŚĆŹŻżóÓŁ wesś.txt skrypt.sh
root@diabel:/home/pawel/ren# ./skrypt.sh
root@diabel:/home/pawel/ren# ls
esEsCZZzoOL_wess.txt skrypt.sh




Po zmianie nazw plików robie już tylko listę pdfów po której leci pętla konwertująca pdfy do txt (program pdftotext).


Brak komentarzy:

Prześlij komentarz