Re: [OT] bash e sostituzione carattere "%"
On Wed, Dec 10, 2003 at 04:02:05PM +0100, ZaFx wrote:
> Prima di tutto scusate l'OT. Il problema: ho una serie di file
> scaricati da internet ma da una macchina uindos, per cui, i nomi dei
> file che contengono il carattere ":" che notoriamente non può esistere
> in quanto tale su quel sistema operativo, vengono salvati sostituendo il
> ":" con il corrispondente URLencode-ato, ossia sostituendo il carattere
> con "%3a". Tanto per fare un esempio, il file gcc_4:3.3.1-2_i386.deb
> viene salvato come gcc_4%3a3.3.1-2_i386.deb.
> Una volta trasportati i file sulla mia macchina Debian ho la necessità
> di rinominarli. Ho buttato giù uno script bash per farlo, ma il
> [...]
rename s/%3a/:/ *%3a*
ma se vuoi fare il figo con giusto un filino di perl:
for O in $(ls -1 *.deb); do
N=$(echo ${O} | perl -e 'while($l=<STDIN>){$l=~s/%([0-9a-zA-Z]{2})/chr(hex($1))/eg;print("$l")}')
mv ${O} ${N}
done
cosi' converti eventuali altri %xx, e comunque ti puo' tornare utile per
rendere piu' leggibile qualche URL.
--
Force has no place where there is need of skill.
-- Herodotus
Reply to: