Перевести строки в столбцы bash

Имеется скрипт который делает whois и вытаскивает нужные поля:

    for as in $(cat as.txt):
do echo -e $as;
whois -h whois.radb.net -i origin $as > whoisas
fields=`cat whoisas | egrep 'route:|descr:|route6:'  | sed s/route:/'\t\r'/g  | sed s/route6:/'\t\r'/g | sed s/descr:/'\t\r'/g ` 
echo $fields
done>as.csv

Но в csv они выгружаются в строках, желательно сделать их в столбцы Пример того как выгружается whois

AS20473     
    68.232.171.0/24 173.199.84.0/22
    auto-generated route object for 68.232.171.0/24 auto-generated route object for 173.199.84.0/22
    2001    19f0
AS24453     
    58.137.13.0/24  202.151.40.0/21
    CSLoxinfo route object for Rajabhat chandrakasem    Proxy-registered route object
    2403    4c00

На текущий момент выдаётся три строки из которых нужно сделать 3 столбца

Получить нужно csv следующего вида:

AS20473 68.232.171.0/24 auto-generated route object for 68.232.171.0/24
    173.199.84.0/22 auto-generated route object for 173.199.84.0/22
    63.209.33.0/24  auto-generated route object for 63.209.33.0/24

for as in $(cat as.txt):
do echo -e $as;
fields=whois -h whois.radb.net -i origin $as | egrep 'route:|descr:'  | sed s/route:/'\r'/g |  sed s/descr:/'\$'/g  
echo $fields
done>as.csv

В итоге вот такой костыль через $, вроде работает и разделяет как надо, но буду рад более элегантным решениям. Мой sed не хочет есть \t, зато прекрасно обрабатывает \r


Ответы (0 шт):