Как создать таблицу в awk?

Мой входной файл – file1

count month 505 Apr-2010 252 Mar-2010 426 Feb-2010 201 Jan-2010 211 Dec-2009 

В том же файле я хочу, чтобы результат был следующим:

 +-------+----------+ | count | month | +-------+----------+ | 505 | Apr-2010 | | 252 | Mar-2010 | | 426 | Feb-2010 | | 201 | Jan-2010 | | 211 | Dec-2009 | +-------+----------+ 

Мне нужна ваша помощь.

  • Объединение CSV с несколькими разделяемыми столбцами
  • Как отфильтровать пару фигурных скобок
  • AWK с спецификацией: Есть ли классный способ обработки спецификации Unicode с регулярным выражением?
  • Как извлечь строки между одинаковыми шаблонами из файла
  • переименование различных файлов
  • AWK: разделитель полей
  • Добавление символа в любую другую текстовую строку
  • Как я могу использовать awk для извлечения URL из HTML-файла?
  • One Solution collect form web for “Как создать таблицу в awk?”

    Это будет работать для ввода:

     BEGIN { n=0 sep="+-------+----------+" } { if (/^$/) { print sep } else if (n==0) { print sep print "| "$1" | "$2" |" } else { print "| "$1" | "$2" |" } n++ } END { print sep } 

    Он не выполняет автоматического выравнивания, поэтому он сломается, если любое из полей увеличится в ширину. Взгляните на этот пост для автоматического выравнивания.

    Linux и Unix - лучшая ОС в мире.