Muszę więc przekonwertować datę na inny format. Z rurociągu bash Biorę datę od ostatniego zalogowania konsoli i wyciągając odpowiednie bity się z awk, tak:Jak używać danych wyjściowych z awk w innym poleceniu?
last $USER | grep console | head -1 | awk '{print $4, $5}'
które wyjścia: Aug 08
($ 4 = sierpnia $ 5 = 08, w w tym przypadku.)
Teraz chcę wziąć "08 sierpnia" i umieścić go w komendzie date
, aby zmienić format na datę numeryczną.
Która będzie wyglądać mniej więcej tak:
date -j -f %b\ %d Aug\ 08 +%m-%d
Wyjścia: 08-08
Mam pytanie jest, w jaki sposób mogę dodać, że do mojego rurociągu i używać zmiennych awk $ 4 i 5, gdzie $ "08 sierpnia" jest w tym dniu polecenia?
Ty faktycznie pytaniem, jak wykorzystać wyjście z * awk, nie zmienne, w drugim poleceniu. – Cascabel
Jaką wersję 'date' (i systemu operacyjnego itp.)? Data GNU nie ma '-j' i używa' -f' do odczytu z pliku. Twoją komendą będzie "date -d Sierpień \ 08 +% m-% d" –
Nie jestem pewien dokładnego numeru wersji - nie ma żadnego wyjścia --version. Jest to kompilacja BSD na Mac OSX, więc zestawiłem opcje daty na podstawie strony man na OS X 10.6. Tylko zamierza uruchomić skrypt na klientach mac, ale dzięki za informacje; będzie użyteczne, jeśli będę musiał zrobić coś podobnego w Linuksie. –