LINUX.ORG.RU

Форматирование текста в виде колонок с разделителем ascii

 


0

2

Помогите пожалуйста, имеется файл
:~$ cat /tmp/1.txt
1,a
2,b
3,c
4,d

:~$ column -s ',' -t /tmp/1.txt
1 a
2 b
3 c
4 d

хотелось бы привести его к виду
_____
|1 | a|
|2 | b|
|3 | c|
|4 | d|
-------
Если не ошибаюсь недавно натыкался на решение этой задачи(без километра парсинга файла), но прошёл мимо.

$ sed 's@\(.*\),\(.*\)@|\1 | \2|@' 1.txt | sed '1{h;s/./-/g;G;};${h;s/./-/g;x;G;}'
salsa
()
Ответ на: комментарий от zolden
$ awk -F',' '{printf("|%5d|%-5s|\n", $1, $2)}' input.txt
|    1|a    |
|    2|b    |
|   11|aaaa |
|    5|ddd  |

anonymous
()
Ответ на: комментарий от zolden

Не понял в чем подвох - если все двузначные ничего не меняется же (ну кроме кол-ва черточек в верхней и нижней границ). А если «смесь» цифр - вон уже анон предложил вариант, в моем случае форматирование поедет, да

alozovskoy ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.