Ich möchte mit awk Zeile aufteilen. und Leerraum einschließlich geschnittener vorderer und hinterer Leerraum. Wenn ich -F "[.]" Verwende, können der führende und der nachfolgende Leerraum nicht ignoriert werden.AWK FS mehrere Separatoren gehören trimmen führenden und hinteren Leerzeichen
Zum Beispiel wird dieser Befehl IPv4
erhalten, weil Standard-FS führende Raumverkleidung wird:
echo " IPv4 Input Packets............................1123330" | awk {print $1}`
Aber
echo " IPv4 Input Packets............................1123330" | awk -F"[. ]" {print $1}
NONE bekommen.
Wie IPv4
und 1123330
in awk
bekommen print $1
und print $4
mit?
Danke für Ihre schnelle Antwort. Aber warum ist $ 1 leer? Gibt es einen Weg, dass ich $ 1 verwenden kann, um IPv4 zu bekommen, und $ 4, um 1123330 zu bekommen? – vinllen
Ich bin mir nicht sicher warum, aber das ist das Verhalten, wenn wir in awk einen nicht leeren 'FS' verwenden. Sogar "awk -F" [[: blank:]] + 'lässt "$ 1" leer. – anubhava
@vinllen: Nicht klar, wenn Sie erkennen, dass Sie stattdessen $ 2 verwenden können, oder? Viel Glück. – shellter