PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Aktuelles Datum statt Datum des Aufrufs eines Programmes anzeigen



--N-oR--
01-03-2008, 11:46
hallo,

ich habe ein kleinen Shellcommand zusammengebastelt, welcher ein Verzeichnis packt und mir zudem die Zeit in der Log-Datei anzeigt:



7za t -t7z -pZ7x4Ud3 "/media/usbdisk/"${1}".7z" 2>&1 | awk -v datum="`GetClock`" '{print datum " " $0}' >> ${apath}"logs/"${HauptLog}"-"${1}".log" 2>> ${log}


Das Problem ist nun das die Zeit des Startes des Programms 7za (oder in einem anderen Fall des Programms tar) angedruckt wird, statt der von mir gewünschten Zeit des tatsächlichen Vorgangs.

Weiß vielleicht in diesem Fall jemand eine Lösung?

Vielen Dank im vorraus!

--N-oR--

ContainerDriver
01-03-2008, 14:03
Hallo.


hallo,

ich habe ein kleinen Shellcommand zusammengebastelt, welcher ein Verzeichnis packt und mir zudem die Zeit in der Log-Datei anzeigt:



7za t -t7z -pZ7x4Ud3 "/media/usbdisk/"${1}".7z" 2>&1 | awk -v datum="`GetClock`" '{print datum " " $0}' >> ${apath}"logs/"${HauptLog}"-"${1}".log" 2>> ${log}


Das Problem ist nun das die Zeit des Startes des Programms 7za (oder in einem anderen Fall des Programms tar) angedruckt wird, statt der von mir gewünschten Zeit des tatsächlichen Vorgangs.



Das Problem ist, dass awk zum Programmstart einmal die Variable datum setzt und dann nicht aktualisiert.
Du kannst den awk-Aufruf wie folgt abändern, dann sollte datum bei jeder Zeile neu gesetzt werden (Infos dazu (http://docs.freebsd.org/info/gawk/gawk.info.Getline.html)):


awk '{ "date"|getline datum; print datum": "$0; close("date"); }'
.

Gruß, Florian