Zniszczyłeś swoje cytaty i składnię. Aby ustawić separator pól wejściowych, najłatwiej to zrobić za pomocą -F
opcji w wierszu poleceń:
awk -F '[0-9]' '{ print $1 }'
lub
awk -F '[[:digit:]]' '{ print $1 }'
Użyłoby to dowolnej cyfry jako separatora pól wejściowych, a następnie wypisuje pierwsze pole z każdej linii.
[0-9]
I [[:digit:]]
wyrażenia nie są zupełnie takie same, w zależności od lokalizacji. Patrz „ Różnica między [0–9], [[: cyfra:]] i \ d ”.
Można również ustawić FS
w samym awk
programie. Zwykle odbywa się to w BEGIN
bloku, ponieważ jest to jednorazowa inicjalizacja:
awk 'BEGIN { FS = "[0-9]" } { print $1 }'
Zauważ, że pojedynczych cudzysłowów nie można używać w ciągach pojedynczych cudzysłowów w powłoce i że awk
ciągi zawsze używają podwójnych cudzysłowów.