Что означает «[|] +» в «awk -F '[|] +'»? - PullRequest
0 голосов
/ 28 августа 2018

Я знаю, что -F в awk -F обозначает следующий разделитель полей.

Но что означает '[ |]+'? 1006 *

Обратите внимание на blank перед |.

Мне также интересно, что означает +? 1013 *

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

Разделитель полей может быть регулярным выражением, как здесь. [ |] - это выражение в скобках, которое обозначает «либо пробел, либо символ трубы»; + является квантификатором («один или несколько»). В целом, это может быть использовано для разделения строк, таких как

field1|field2  field3||  field4

как разделенный трубой, отбрасывая все пробелы вокруг трубы, то есть четыре поля будут field1, field2, field3 и field4.

0 голосов
/ 28 августа 2018

Awk допускает использование регулярного выражения в качестве разделителя полей.

[ |]+ - это регулярное выражение, которое соответствует любой непустой последовательности символов пробела и канала (|).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...