Voglio eseguire il comando system
in uno script awk e ottenere il suo output memorizzato in una variabile. Ho cercato di farlo, ma l'output del comando va sempre alla shell e non sono in grado di catturarlo. Qualche idea su come questo può essere fatto?Assegnazione dell'output del comando di sistema alla variabile
Esempio:
$ date | awk --field-separator=! {$1 = system("strip $1"); /*more processing*/}
deve chiamare il comando del sistema strip
, invece di inviare l'uscita a guscio, dovrebbe assegnare l'uscita ritorna $1
per ulteriore elaborazione. Riavvia ora, invia l'output alla shell e assegna il retcode del comando a $1
.
nit: l'uscita non è andare a guscio, sta andando al terminale/console. La shell non legge alcuno dei risultati dei suoi figli - essi condividono solo descrittori di file che sono associati allo stesso tty. –