Subir todas as outras linhas até o final da linha contendo caractere

2

Eu executei duas consultas xpath reunidas para recuperar determinadas informações. No entanto, os resultados saíram formatados em linhas separadas, enquanto eu quero que eles estejam na mesma linha. Por exemplo, as linhas são como:

<id>rd://data1/8b</id>
<name>DM_test1</name>
<id>rd://data2/76f</id>
<name>DM_test_P</name>

Mas quero que a linha que começa com <name> esteja ao lado da linha que termina com </id> , assim:

<id>rd://data1/8b</id><name>DM_test1</name>

Como posso fazer isso? Existe algum lugar na minha consulta xpath que eu possa adicionar algo para se certificar de que não há espaços? Ou há um regex para mover a linha <name> ?

Tenho cerca de 20 linhas, por isso não posso fazê-lo manualmente.

    
por user3738022 02.07.2015 / 18:33

1 resposta

1

com sed :

sed -e '$!N;/\n<name>/s/\n//' file

Se todas as suas linhas estiverem em sequência, você pode usar paste :

paste -sd'
sed -e '$!N;/\n<name>/s/\n//' file
\n' file
    
por 02.07.2015 / 18:43