11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

${var:pos}<br />

Esempio 9-18. Rinominare le estensioni dei file:<br />

Capitolo 9. Variabili riviste<br />

#!/bin/bash<br />

# rfe.sh: Rinomuinare le estensioni dei file.<br />

#<br />

# rfe vecchia_estensione nuova_estensione<br />

#<br />

# Esempio:<br />

# Per rinominare tutti i file *.gif della <strong>di</strong>rectory <strong>di</strong> lavoro in *.jpg,<br />

# rfe gif jpg<br />

E_ERR_ARG=65<br />

case $# in<br />

0|1) # La barra verticale, in questo contesto, significa "or".<br />

echo "Utilizzo: ‘basename $0‘ vecchia_estensione nuova_estensione"<br />

exit $E_ERR_ARG # Se gli argomenti sono 0 o 1, interrompe lo script.<br />

;;<br />

esac<br />

for nomefile in *.$1<br />

# Passa in rassegna l’elenco dei file che terminano con il 1mo argomento.<br />

do<br />

mv $nomefile ${nomefile%$1}$2<br />

# Toglie la parte <strong>di</strong> nomefile che verifica il 1mo argomento,<br />

#+ quin<strong>di</strong> aggiunge il 2do argomento.<br />

done<br />

exit 0<br />

${var:pos:lun}<br />

Espansione <strong>di</strong> variabile / Sostituzione <strong>di</strong> sottostringa<br />

I costrutti seguenti sono stati adottati da ksh.<br />

La variabile var viene espansa iniziando da pos.<br />

Espansione <strong>di</strong> un massimo <strong>di</strong> lun caratteri della variabile var, iniziando da pos. Ve<strong>di</strong> Esempio<br />

A-14 per una <strong>di</strong>mostrazione dell’uso creativo <strong>di</strong> questo operatore.<br />

${var/Modello/Sostituto}<br />

La prima occorrenza <strong>di</strong> Modello in var viene rimpiazzata da Sostituto.<br />

Se si omette Sostituto allora la prima occorrenza <strong>di</strong> Modello viene rimpiazzata con niente,<br />

vale a <strong>di</strong>re, cancellata.<br />

135

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!