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.

Esempio 26-4. Operazioni sulle stringhe negli array<br />

#!/bin/bash<br />

# array-strops.sh: Operazioni su stringhe negli array.<br />

# Script <strong>di</strong> Michael Zick.<br />

# Usato con il permesso dell’autore.<br />

Capitolo 26. Array<br />

# In generale, qualsiasi operazione stringa nella notazione ${nome ... }<br />

#+ può essere applicata a tutti gli elementi stringa presenti in un array<br />

#+ usando la notazione ${nome[@] ... } o ${nome[*] ...}.<br />

arrayZ=( uno due tre quattro cinque cinque )<br />

echo<br />

# Estrazione <strong>di</strong> sottostringa successiva<br />

echo ${arrayZ[@]:0} # uno due tre quattro cinque cinque<br />

# Tutti gli elementi.<br />

echo ${arrayZ[@]:1} # due tre quattro cinque cinque<br />

# Tutti gli elementi successivi ad elemento[0].<br />

echo ${arrayZ[@]:1:2} # due tre<br />

# Solo i due elementi successivi ad elemento[0].<br />

echo "-----------------------"<br />

# Rimozione <strong>di</strong> sottostringa<br />

# Rimuove l’occorrenza più breve dalla parte iniziale della(e) stringa(he),<br />

#+ dove sottostringa è un’espressione regolare.<br />

echo ${arrayZ[@]#q*o} # uno due tre cinque cinque<br />

# Controlla tutti gli elementi dell’array.<br />

# Verifica "quattro" e lo rimuove.<br />

# L’occorrenza più lunga dalla parte iniziale della(e) stringa(he)<br />

echo ${arrayZ[@]##t*e} # uno due quattro cinque cinque<br />

# Controlla tutti gli elementi dell’array.<br />

# Verifica "tre" e lo rimuove.<br />

# L’occorrenza più breve dalla parte finale della(e) stringa(he)<br />

echo ${arrayZ[@]%r*e} # uno due t quattro cinque cinque<br />

# Controlla tutti gli elementi dell’array.<br />

# Verifica "re" e lo rimuove.<br />

# L’occorrenza più lunga dalla parte finale della(e) stringa(he)<br />

echo ${arrayZ[@]%%t*e} # uno due quattro cinque cinque<br />

# Controlla tutti gli elementi dell’array.<br />

# Verifica "tre" e lo rimuove.<br />

echo "-----------------------"<br />

476

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

Saved successfully!

Ooh no, something went wrong!