This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
draw_table [2013/10/18 05:40] kyxap |
draw_table [2014/06/08 11:53] (current) kyxap |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Преобразование CSV-форматированного текста в ASCII-таблицу (для VIM и stdout) ====== | + | {{tag>perl vim format table ascii bash}}====== Преобразование CSV-форматированного текста в ASCII-таблицу (для VIM и stdout) ====== |
+ | Подразумевается что в env уже есть <code=bash>export PATH=~/bin/:$PATH</code> | ||
- Создаем ~/bin/tab | - Создаем ~/bin/tab | ||
- | * разрешаем выполнение через chmod +x | + | * разрешаем выполнение <code>chmod +x ~/bin/tab</code> |
- | * ставим симлинку ~/bin/tab -> ~/bin/untab \\ Подразумевается что в env уже есть <code=bash>export PATH=~/bin/:$PATH</code> | + | * ставим симлинку<code>ln -s ~/bin/tab ~/bin/untab</code> |
- | - Форматируем данные, которые должны быть преобразованы в таблицу: <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 и выполняем: | - Выделяем блок данных в VISUAL MODE и выполняем: | ||
- | * для создания таблицы<code> | + | * для создания таблицы<code>:'<,'>!tab</code> |
- | :'<,'>!tab</code> | + | * для удаления таблицы<code>:'<,'>!untab</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> | ||