Bash і колонки (Використання column та альтернатива)

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

CoffiN
Сообщения: 11

Bash і колонки

Сообщение CoffiN »

Доброго дня доби!

Виникли трабли при виведенні тексту колонками(для нормальної читабельності):

Код:

finger @XXX.XXXXXXXXXX | while read n do IP=$(echo $n | grep "PPPoE" | awk '{print $5}') LOGIN=$(echo $n | grep "PPPoE" | awk '{print $2}') case $IP in *192.168* ) DT=$(date | awk '{print $3, $2, $6}') TM=$(date | awk '{print $4}') echo " $DT $TM $LOGIN $IP min 0 max 0 avg 0 packet_loss 100.0% "


частина з коду. Як вивести "$DT $TM $LOGIN $IP min 0 max 0 avg 0 packet_loss 100.0%" так, щоб вони були стовпцями?

Пробував через column - коли виношу шапку колонок за цикл - просить закривати шапку також поза циклом, а в такому випадку я отримаю тільки результат опрацювання останньої стрічки. Як бути, можливо є якась альтернатива?
Спасибо сказали:
Аватара пользователя
serg43
Сообщения: 137
ОС: Linux, Archlinux

Re: Bash і колонки

Сообщение serg43 »

Пожалуйста, уважайте других пользователей форума, пишите по-русски.
Спасибо сказали:
stampoon
Сообщения: 702
ОС: Mandrake/Mandriva Cooker

Re: Bash і колонки

Сообщение stampoon »

CoffiN писал(а):
08.11.2008 18:42
Як бути, можливо є якась альтернатива?

альтернатива - писать по-русски.
Интеллект — это способность избегать выполнения работы, но так, чтобы она при этом была сделана.
Спасибо сказали:
Аватара пользователя
uptime
Сообщения: 1661
Статус: Drinker with computing problems
ОС: kubuntu 8.04

Re: Bash і колонки

Сообщение uptime »

CoffiN
Попробуйте вставлять символы табуляции между выводимыми значениями полей. Это проще всего, если длина полей не будет сильно варьировать.

успехов
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Bash і колонки

Сообщение allez »

А лучше вместо echo использовать printf, например, так:

Код: Выделить всё

printf "%-15s %-10s %-20s %-20s min 0 max 0 avg 0 packet_loss 100.0%%\n" $DT $TM $LOGIN $IP
Спасибо сказали:
CoffiN
Сообщения: 11

Re: Bash і колонки

Сообщение CoffiN »

Дуже вдячний за допомогу, зробив через TAB - все кул, тільки потрібно було ще одне поле корегувати через if...fi на кількість знаків TAB (що рівно було).


Дякую всім за допомогу!
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Bash і колонки

Сообщение allez »

Да пожалуйста. :)
Единственный совет вдогонку: таки используйте в подобных случаях printf и не нужны будут лишние телодвижения с if...fi. ;)
Спасибо сказали: