This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
draw_table [2013/10/18 05:09] kyxap |
draw_table [2013/12/15 13:42] kyxap Page moved from perl:draw_table to draw_table |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Преобразование CSV-форматированного текста в ASCII-таблицу (для VIM и stdout) ====== | ====== Преобразование CSV-форматированного текста в ASCII-таблицу (для VIM и stdout) ====== | ||
- | + | Подразумевается что в env уже есть <code=bash>export PATH=~/bin/:$PATH</code> | |
- | - Создаем ~/bin/tab и разрешаем его выполнение через chmod +x.\\ Подразумевается что уже есть PATH=~/bin/:$PATH | + | - Создаем ~/bin/tab |
- | - Форматируем данные, которые должны быть преобразованы в таблицу: <code> | + | * разрешаем выполнение <code>chmod +x ~/bin/tab</code> |
+ | * ставим симлинку<code>ln -s ~/bin/tab ~/bin/untab</code> | ||
+ | - Форматируем данные, которые должны быть преобразованы в таблицу: | ||
+ | * значения, разделенные запятыми<code> | ||
+ | 1,my table,another field | ||
+ | 2,my table,yet another field</code> | ||
+ | * вызов tab -t сформирует заголовок из первой строки<code> | ||
+ | ID,Name,Description | ||
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> | + | - Выделяем блок данных в VISUAL MODE и выполняем: |
- | '<,'>!tab</code> | + | * для создания таблицы<code>:'<,'>!tab</code> |
- | - Получаем <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> | - Такой же эффект получим при перенаправлении stdout: <code> | ||
- | $ cat csv-formatted.txt | tab | + | cat csv-formatted.txt | tab |
</code> | </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/env perl | #!/usr/bin/env perl | ||
#=============================================================================== | #=============================================================================== | ||
Line 483: | Line 490: | ||
} | } | ||
- | </code> | + | </file> |