Bash: převod názvů na verzálky

Občas se potýkám s nějakými detaily, které vznikají při přípravě dat pro weby. Protože mi weby jedou výhradně na Unixových serverech vzniká menší problém s citlivostí na velikost písmen v , který uživatelé systémů na prazákladech CP/M neznají (do tohoto řadím i nejnovější MS Windows (jeho)Vista). Pokud se máme na něčem domluvit, je občas potřeba převést veškeré názvy obrázků, případně jiných souborů, na pouze minusky, nebo verzálky, obvykle směřuji k tomu, čeho je připraveno více.

Pro převod veškerých názvů mi slouží jednoduchý script (pochopitelně malou úpravou lze udělat obrácený postup):

 

Převod na minusky, nebo verzálky v nějakém importním souboru, třeba csv, který vyexportuji z MS Excelu/OpenOffice.org Calcu, je již triviální záležitostí, téměř neznám scriptovací/dynamický jazyk, který by v knihovnách pro zpracování řetězců neměl tyto potřebné funkce.

#!/bin/sh 
 for i in * 
 do 
 j=`echo $i | tr '[a-z]' '[A-Z]'` 
 mv $i $j 
 done

Jedna myšlenka na “Bash: převod názvů na verzálky”

  1. hm… lenže je treba doriešiť problém s tým, keď niekto bude mať v adresári súbor aBc a ABC… ale v tomto prípade by sa také niečo asi nemalo stať…

    Pre istotu by som tam určite dal mv -i $i $j

Komentáře nejsou povoleny.