Fórumok
Sziasztok!
Olyanra lenne szükségem hogy egy dir-ben minden fájlt át szeretnék nevezni lower-case-esre. Tehát pl. eZ_egy.File.tXt-böl ez_egy.file.txt-t szeretnék.
Eszetekbe jut erre valami egyszerü, 1 soros megoldás? (esetleg valamiféle util?)
pink
- 730 megtekintés
Hozzászólások
for a in *; do b="$(echo "$a" | tr A-Z a-z)"; if [ -e "$b" -a "$a" != "$b" ]; then echo mar van "$b"; break; else echo mv "$a" "$b"; fi; done
Ez bash ala valo. Ha nem mondja, h mar van ..., meg jokat irkal akkor szedd ki az mv elol az echo-t.
- A hozzászóláshoz be kell jelentkezni
mondjuk volt már ilyen topic, de ha csak *egy* könyvtárban akarod átnevezni a (nem rejtett (==ponttal kezdődő)) fileokat (és alkönyvtárakat), akkor:
ls -1 | while read name ; do lcase=`echo "$name" | tr [A-ZÁÉÍÓÖŐÚÜŰ] [a-záéíóöőúüű]`; if [ "$name" != "$lcase" ] ; then mv "$name" "$lcase"; fi; done
- A hozzászóláshoz be kell jelentkezni
Köszönöm szépen mindkettötöknek a gyors segítséget.
pink
- A hozzászóláshoz be kell jelentkezni
rename 'tr/A-Z/a-z/' *
Zsiraf
- A hozzászóláshoz be kell jelentkezni