Отформатируйте вывод в столбцах в bash - PullRequest
0 голосов
/ 17 октября 2018

Можете ли вы помочь мне с форматированием вывода ниже в столбцах, поэтому, когда я grep для WWN, я могу получить имя.Это большой файл, содержащий более 1000 строк.

Если я получу одну строку для одного псевдонима вместе с его wwn в той же строке, то это будет здорово.

=============================================================

псевдоним: a_name_A

            10:00:00:05:33:00:00:00; 10:00:00:05:12:12:23:00; 
            10:00:00:10:86:00:00:00

псевдоним: a_name123_A

            20:00:00:10:56:05:12:23; 20:00:00:10:44:04:48:78; 
            20:00:00:10:67:78:90:00

псевдоним: a_name2323_A

            20:00:00:00:44:33:22:11

псевдоним: a_rep02_A

            20:00:00:33:33:44:55:55

======================================== *

Просмотр выходных данных в формате CSV

a_name_A, 10: 00: 00: 05: 33: 00: 00: 00,10: 00: 00: 05: 12: 12: 23: 00,10: 00: 00: 10: 86: 00: 00: 00

a_name123_A, 20: 00: 00: 10: 56: 05: 12: 23,20: 00: 00: 10: 44: 04: 48: 78,20: 00: 00: 10: 67: 78: 90: 00

a_name2323_A, 20: 00: 00: 00: 44: 33: 22: 11

a_rep02_A, 20: 00: 00: 33: 33: 44: 55: 55

1 Ответ

0 голосов
/ 17 октября 2018

вы можете использовать что-то вроде:

gawk '/alias/ {
        if(alias=="")
           alias=$2
        else
           {
           print alias data
           data=""
           alias=$2
           }
        next
}
{
        gsub(";",",",$0)
        gsub(" ","",$0)
        data=data $0
}
END {
       print alias data
}' data.txt
...