Grazie a tutti, ho risolto così: #!/bin/bash # cambia_primo: Rinominare i file cambiando la prima occorrenza del valore passato come primo parametro # con il valore passato come secondo parametro. # # cambia_primo "primo parametro" "secondo parametro" # # Esempio: # Per sostituire il primo blank con un undescore # cambia_primo " " "_"
numfile=0 ARG=2 E_ERR_ARG=65 if [ $# -ne "$ARG" ] then echo "Utilizzo: cambia_primo valore1 valore2" exit $E_ERR_ARG fi for nomefile in * do nuovonome=`echo $nomefile | sed -e "s/$1/$2/"` echo "Rinomino " $nomefile "che diventa " $nuovonome mv "$nomefile" "$nuovonome" let "numfile += 1" done echo "Totale file rinominati="$numfile exit 0 Si può implementare per la sostituzione di TUTTE le occorrenze e con vari controlli. Grazie a tutti