Meu arquivo xml fica assim:
<price = "2.22"><instock = "1">
Eu preciso tê-lo assim:
<price = "2.22">
<instock = "1">
Depois de cada caractere ">", preciso colocar um caractere de nova linha com awk ou sed. Como posso conseguir isso? obrigado
<price = "2.22">
se o XML é válido.Respostas:
Como disse KeithB, existem problemas em potencial que podem surgir com o uso de uma abordagem grosseira. No entanto, essa abordagem bruta é um pouco mais seletiva, de modo que as chances de falhar são reduzidas em cerca de 0,00001%, o que pode ser suficiente.
Se houver espaço em branco entre os colchetes angulares, isso poderá ser melhor:
o que eliminará esse espaço em branco.
fonte
Se você quiser fazer isso corretamente, precisará de algo mais poderoso que o awk. Um dos problemas é que o awk não manipula
>
cadeias ou comentários internos. Você pode estar melhor com perl ou python. Se isso é apenas para facilitar a visualização visual de um arquivo, pode ser bom.Um script awk rápido e sujo é
Isso trata
>
como o separador entre os campos e imprime cada um em sua própria linha. É bem bruto, mas pode ser um ponto de partida.fonte