Il comando

awk '/patate/ { print "hai preso le patate" }' Lista-della-spesa.txt

esplora il file Lista-della-spesa.txt restituendomi il messaggio "hai preso le patate" se trova una riga in cui è contenuta appunto la voce "patate". Esiste un modo per avere un output se l'argomento specificato NON viene trovato? In altri termini, è possibile far si' che lo script mi restituisca un messaggio tipo "hai dimenticato le patate!" se non trova la voce "patate" in Lista-della-spesa.txt?

chiesto 22 Nov '14, 15:45

piccolo%20principiante's gravatar image

piccolo prin...
157132027


Si può fare facilmente con grep:

if grep -Fq 'patate' Lista-della-spesa.txt
    echo "hai preso le patate"
else
    echo "hai dimenticato le patate!"
fi

Anche con awk si può fare:

awk '/patate/ { print "hai preso le patate"; patate_prese = 1 }
  END { if (patate_prese == 0) print "hai dimenticato le patate!" }' Lista-della-spesa.txt
coll. permanente

ha risposto 23 Nov '14, 09:02

enzotib's gravatar image

enzotib ♦♦
14.0k112186

La tua risposta
abilita/disabilita anteprima

Segui questa domanda

Via email:

Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui

Via RSS:

Risposte

Risposte e commenti

Basi di markdown

  • *corsivo* o __corsivo__
  • **grassetto** o __grassetto__
  • collegamento:[testo](http://url.com/ "titolo")
  • immagine?![alt testo](/path/img.jpg "titolo")
  • elenco numerato: 1. Foo 2. Bar
  • per aggiungere un'interruzione di riga, aggiungi due spazi a fine riga e premi «Invio»
  • è supportato anche semplice HTML

Tag:

×93
×49

domanda posta: 22 Nov '14, 15:45

domanda visualizzata: 960 volte

ultimo aggiornamento: 23 Nov '14, 09:02

Chiedi è un servizio di supporto gestito da Ubuntu-it. Contattaci!

powered by OSQAPostgreSQL database
Ubuntu e Canonical sono marchi registrati da Canonical Ltd.