Давайте начнем с этого тестового файла:
$ cat file
inet 10.190.120.13/24 brd 10.190.120.255 scope global prefixroute eth0
Если вы хотите, чтобы пробел и sla sh были разделителем полей, попробуйте:
$ awk -F' |/' '{print $2}' file
10.190.120.13
Если есть возможность чтобы ваш ввод мог содержать как табуляцию, так и пробелы, попробуйте:
$ awk -F'[[:blank:]]|/' '{print $2}' file
10.190.120.13
В регулярных выражениях |
означает или . Таким образом, |/
(с пробелом перед вертикальной чертой) означает пробел или a sla sh. Awk поддерживает регулярные выражения POSIX, и в POSIX [[:blank:]]
будет соответствовать любой табуляции или пробелу.
В качестве альтернативы, мы можем поместить оба параметра в квадратные скобки, например:
$ awk -F'[[:blank:]/]' '{print $2}' file
10.190.120.13
Если вы, в соответствии с названием, вы хотите пробел или sla sh или запятую в качестве разделителя, попробуйте:
$ awk -F'[[:blank:]/,]' '{print $2}' file
10.190.120.13