Processamento de texto e exportação do conteúdo para uma planilha do excel

3

Estou tentando processar um arquivo de texto que contém várias entradas, estou interessado no campo Dados do texto que consiste em Nome, Id, Tamanho e ID da Página83.

Command: show PhysicalDisk name='IBM (721)'
Status: Success
Time: 2017-06-30 15:50:50,051 EST
Data:
  Name = IBM (721)
  Id = 0004fb0000180000d27ba1c974a69157
  Size (GiB) = 15.0
  Shareable = No
  Page83 ID = 360050768018385ace800000000000d6a
  Thin Provision = Yes
  VolumeGroup = Generic_SAN_Volume_Group @ Unmanaged FibreChannel Storage Array  [FibreChannel Volume Group]
  San Server = Unmanaged FibreChannel Storage Array  [Unmanaged FibreChannel Storage Array]
Command: show PhysicalDisk name='IBM (722)'
Status: Success
Time: 2017-06-30 15:50:53,636 EST
Data:
  Name = IBM (730)
  Id = 0004fb0000180000627770ff185759b6
  Size (GiB) = 100.0
  Shareable = No
  Page83 ID = 360050768018385ace800000000000d6b
  Thin Provision = Yes
  VolumeGroup = Generic_SAN_Volume_Group @ Unmanaged FibreChannel Storage Array  [FibreChannel Volume Group]
  San Server = Unmanaged FibreChannel Storage Array  [Unmanaged FibreChannel Storage Array]

Eu gostaria de processar este texto e colocá-lo nas linhas e colunas da planilha do excel.

Esteéapenasumexemplodesaídaparadoiscamposdedados.Tambémquerosabercomopodemosterissoemvigorpara"N número" de campos de dados.

    
por IgniteLX 30.06.2017 / 08:11

1 resposta

2

Para um simples csv separado por vírgula a ser importado para o Excel, você pode usar algo como

sed -n '/Name = /!d
  N;N;N;N
  y/\n/,/
  s/, *Shareable = [^,]*//
  s/[^,=]*= //g;p' yourfile

A primeira linha exclui todas as linhas, exceto as Name = . Continue apenas para aqueles e anexe as quatro linhas seguintes ao buffer com N . O comando y substitui as novas linhas entre as linhas pelas vírgulas de separação. O primeiro comando s remove a linha Shareable e o segundo remove a parte até = para deixar apenas o valor. Ele funcionará para qualquer número de linhas. Campos de texto serão identificados automaticamente sem aspas neste caso.

    
por 30.06.2017 / 09:13