jag sitter och försöker parsa kommandot uprecords som man får genom att installera uptimed med MacPorts. Det har en ganska säregen output nämligen:
# Uptime | System Boot up
----------------------------+-------------------------------------------------
-> 1 16 days, 17:40:34 | Darwin 8.9.1 Wed Mar 21 00:36:28 2007
----------------------------+-------------------------------------------------
jag är bara ute efter biten "16 days, 17:40:34" som jag har lyckats parsa till "16 days, 17 hours, 40 minutes" med kommandot:
uprecords | awk {'print $3" "$4" "$5'} | sed -e 's/| System Boot/ /' -e 'd/\n//' -e 's/:/ hours, /' -e 's/:/ minutes /' | awk {'print $1" "$2" "$3" "$4" "$5" "$6'}
där deletekommandot: "-e 'd/\n//'" eller alternativa substitutionskommandot: "-e 's/\n//'" inte funkar. hela harangen tar nämligen med grejer som ligger 3 rader över den output som är relevant pga den muppiga originalutskriften. Om jag inte tar med "-e 's/| System Boot/ /'" biten så står det "| System Boot" 3 rader över 16 days. "-e 's/| System Boot/ /'" kommandot fungerar och tar bort texten men hur jag än försöker så blir jag inte av med alla extra radbrytningar. Outputen har 3 extra rader över sig och 1 under sig som jag vill ta bort. Någon som har några tips?