This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
draw_table [2013/10/18 04:56] kyxap created |
draw_table [2014/06/08 11:53] (current) kyxap |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Преобразование CSV-форматированного текста в ASCII-таблицу (with VIM support) ====== | + | {{tag>perl vim format table ascii bash}}====== Преобразование CSV-форматированного текста в ASCII-таблицу (для VIM и stdout) ====== |
| - | + | Подразумевается что в env уже есть <code=bash>export PATH=~/bin/:$PATH</code> | |
| - | - Создаем ~/bin/tab и разрешаем его выполнение через chmod +x.\\ Подразумевается что в PATH уже включен ~/bin/ | + | - Создаем ~/bin/tab |
| - | - Форматируем данные, которые должны быть преобразованы в таблицу: <code> | + | * разрешаем выполнение <code>chmod +x ~/bin/tab</code> |
| + | * ставим симлинку<code>ln -s ~/bin/tab ~/bin/untab</code> | ||
| + | - Форматируем данные, которые должны быть преобразованы в таблицу: | ||
| + | * значения, разделенные запятыми<code> | ||
| 1,my table,another field | 1,my table,another field | ||
| 2,my table,yet another field</code> | 2,my table,yet another field</code> | ||
| - | - Выделяем блок данных в VISUAL MODE и выполняем: <code> | + | * вызов tab -t сформирует заголовок из первой строки<code> |
| - | '<,'>!~/bin/tab</code> | + | ID,Name,Description |
| - | - Получаем <code> | + | 1,my table,another field |
| - | ------------------------------------ | + | 2,my table,yet another field</code> |
| + | - Выделяем блок данных в VISUAL MODE и выполняем: | ||
| + | * для создания таблицы<code>:'<,'>!tab</code> | ||
| + | * для удаления таблицы<code>:'<,'>!untab</code> | ||
| + | - Получаем <code>------------------------------------ | ||
| | 1 | my table | another field | | | 1 | my table | another field | | ||
| | 2 | my table | yet another field | | | 2 | my table | yet another field | | ||
| ------------------------------------</code> | ------------------------------------</code> | ||
| + | - Такой же эффект получим при перенаправлении stdout: <code> | ||
| + | cat csv-formatted.txt | tab | ||
| + | </code> | ||
| - | [[http://stackoverflow.com/questions/10402680/create-table-around-text|Источник]] | + | Лучи добра засылать [[http://stackoverflow.com/questions/10402680/create-table-around-text|сюда]]. |
| - | <code=perl> | + | <file perl tab> |
| - | #!/usr/bin/perl | + | #!/usr/bin/env perl |
| #=============================================================================== | #=============================================================================== | ||
| # | # | ||
| Line 480: | Line 490: | ||
| } | } | ||
| - | </code> | + | </file> |