у меня есть файл журнала как:
1::
10::
127.0.0.1
172.17.1.1
я хочу, чтобы awk разделил строку к столбцам на:: разделитель. некоторая вещь как:
awk {print$1}
и результат:
1
и
awk {print$2}
и результат:
10
и
awk {print$3}
и результат:
127.0.0.1
172.17.1.1
я не знаю как разделенный с awk с разделителем::.
Можно установить разделителя полей с помощью -F
опция. Используйте следующие команды в терминале,
$ awk -F "::" 'NR==1 {print $1}' logfile.txt
1
$ awk -F "::" 'NR==2 {print $1}' logfile.txt
10
$ awk -F "::" 'NR!=1 && NR!=2 {print $1}' logfile.txt
127.0.0.1
172.17.1.1
NR
, переменная хранит номер строки. Например, рассмотрите свой файл, с ::
как разделитель полей
$1 $2 $3
NR=1 1
NR=2 10
NR=3 127.0.0.1
NR=4 172.17.1.1
and so on.
, Если Вы будете использовать .
в качестве разделителя полей, то это будет похоже,
$1 $2 $3 $4
NR=1 1::
NR=2 10::
NR=3 127 0 0 1
NR=4 172 17 1 1