Перевести строки в столбцы 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 они выгружаются в строках, желательно сделать их в столбцы

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