2017-05-24 4 views
-1

Ich benutze awk, um einen Benutzernamen in einer riesigen Protokolldatei, die mehrere Zeilen mit dem gleichen Wert enthält. Ich habe herausgefunden, wie man den letzten Eintrag nur zieht, aber manchmal ist das Ergebnis leer. Ich möchte einen leeren Wert überspringen und mit dem nächsten fortfahren. Hier ist mein Skript:Mit awk, um Wert zu finden, überspringen Leerzeichen

#!/bin/bash 

# Pulls last logged in user from GPS.log 
GPuser=$(grep 'Actual user for gateway login is' /Library/Logs/PaloAltoNetworks/GlobalProtect/PanGPS.log | awk '{user=$13}END{print user}') 

echo "Username is $GPuser" 

exit 0 

Antwort

1

da es keinen Abtastwerteingang dies in ungetesteten

awk '/Actual user for gateway login is/ && $13!="" {user=$13} 
    END {print "Username is", user}' logfile 

gibt es keine Notwendigkeit für grep oder echo

Verwandte Themen