[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: