У меня есть текстовый файл, где поля разделены символом трубы. Поскольку текст читается человеком, для выравнивания столбцов используются пробелы.
Вот пример ввода:
+------------------------------------------+----------------+------------------+
| Column1 | Column2 | Column3 | Column4 | Last Column |
+------------------------------------------+----------------+------------------+
| some_text | other_text | third_text | fourth_text | last_text |
<more such lines>
+------------------------------------------+----------------+------------------+
Как использовать awk для извлечения третьего поля в этом случае ? Я пытался:
awk -F '[ |]' '{print $3}' file
awk -F '[\|| ]' '{print $3}' file
awk -F '[\| ]' '{print $3}' file
Ожидаемый результат:
<blank>
Column3
<more column 3 values>
<blank>
third_text
Я пытаюсь добиться этого с помощью одной команды awk. Разве это не возможно?
В следующем посте говорится об использовании pipe в качестве разделителя в awk, но не говорится о случае нескольких разделителей, где один из них является символом pipe: