Quindi ho bisogno di convertire una data in un formato diverso. Con una pipeline bash, sto prendendo la data dall'ultimo login da console, e tirando i bit rilevanti con awk, in questo modo:Come utilizzare l'output da awk in un altro comando?
last $USER | grep console | head -1 | awk '{print $4, $5}'
quali uscite: Aug 08
($ 4 = agosto $ 5 = 08, in questo caso.)
Ora, voglio prendere "08 agosto" e inserirlo in un comando date
per modificare il formato in una data numerica.
Che sarebbe simile a questa:
date -j -f %b\ %d Aug\ 08 +%m-%d
Uscite: 08-08
La domanda che ho è, Come faccio ad aggiungere che alla mia pipeline e utilizzare le variabili awk $ 4 e $ 5 ove '08 agosto' è in quel comando data?
si sta effettivamente chiedendo come utilizzare l'output * * da awk, non le variabili, nell'altro comando. – Cascabel
Quale versione di 'date' (e del sistema operativo, ecc.)? La data di GNU non ha '-j' e usa' -f' per leggere da un file. Il tuo comando sarebbe 'date -d Ago \ 08 +% m-% d' –
Non sicuro del numero esatto della versione - non ha alcun tipo di output --version. È una build BSD su Mac OSX, quindi ho messo insieme le opzioni di data basate sulla pagina man su OS X 10.6. Solo con l'intenzione di eseguire lo script sui client Mac, ma grazie per le informazioni; sarà utile se dovessi fare qualcosa di simile su Linux. –