Wie können wir zwei Feldtrennzeichen im Befehl awk angeben, wenn eines davon Leerzeichen ist? Ich denke, dies kann durch die Verwendung einer eingebetteten if-else-Bedingung in awk erreicht werden, bin mir jedoch nicht sicher über den genauen Befehl.
Beispieldatei ist wie folgt:
cat test.txt
Swapnil Engineer 20000
Avinash:Doctor:30000
Dattu GovntJob 50000
Amol:Master:10000
Ich möchte die zweite Spalte drucken ($ 2). Die erwartete Ausgabe ist:
Engineer
Doctor
GovntJob
Master
Als ich versuchte, sowohl Leerzeichen als auch Doppelpunkt als Feldtrennzeichen zu verwenden, schlug dies mit einem Syntaxfehler fehl:
awk -F[ :] '{print $2}' test.txt
awk: cmd. line:1: :]
awk: cmd. line:1: ^ syntax error
Wie können wir zwei Feldtrennzeichen verwenden und die awk-Funktionalität nutzen?
-F[ :]
(einem Argument ) erhielt sie-F[:
und]
. Dieses Diagramm ist sehr praktisch (beachten Sie die vertikalen Pfeile für einfache / doppelte Anführungszeichen).Antworten:
Du bist auf dem richtigen Weg!
Fügen Sie einfach die fehlenden Anführungszeichen hinzu
[ :]
:quelle