Как мы можем указать два разделителя полей в команде awk, если один из них является пробелом? Я думаю, что это можно сделать, используя встроенное условие if-else в awk, однако я не уверен насчет точной команды.
Пример файла, как показано ниже:
cat test.txt
Swapnil Engineer 20000
Avinash:Doctor:30000
Dattu GovntJob 50000
Amol:Master:10000
Я хочу напечатать второй столбец (2 доллара). Ожидаемый результат:
Engineer
Doctor
GovntJob
Master
Когда я попытался указать пробел и двоеточие в качестве разделителей полей, произошел сбой с синтаксической ошибкой:
awk -F[ :] '{print $2}' test.txt
awk: cmd. line:1: :]
awk: cmd. line:1: ^ syntax error
Как мы можем использовать два разделителя полей и использовать функциональность awk?
-F[ :]
(один аргумент) она получила-F[:
и]
. Этот график очень удобен (обратите внимание на вертикальные стрелки для одинарных / двойных кавычек).Ответы:
Ты на правильном пути!
Просто добавьте пропущенные кавычки
[ :]
:источник