Aiuto richiesto - nel contesto dello scripting di shell su una bash GNU / LINUX:
Lo uso sempre set -e. Spesso, vorrei grepe non sempre desidero che lo script termini l'esecuzione se grepha uno stato di uscita che 1indica un modello non trovato.
Qualcosa che ho provato a risolvere questo problema è il seguente:
(Prova I)
Se set +o pipefaile invoco grep con qualcosa del genere, grep 'p' | wc -lottengo il comportamento desiderato fino a quando un futuro manutentore lo abilita pipefail. Inoltre, mi piace abilitare pipefailquindi questo non funziona per me.
(Prova II)
Utilizzare uno sedo awksolo le linee di stampa corrispondenti al motivo, quindi le wclinee abbinate per verificare il motivo abbinato. Non mi piace questa opzione perché usare sedto grepsembra una soluzione alternativa al mio vero problema.
(Prova III)
Questo è il mio meno preferito - qualcosa del tipo:set +e; grep 'p'; set-e
Qualsiasi intuizione / idioma sarebbe molto apprezzato - grazie.