Estou executando os 2 sed
comandos a seguir . O primeiro adiciona caracteres de nova linha onde eu os quero, o segundo também adiciona caracteres de nova linha onde eu os quero, MAS também adiciona um adicional no final do arquivo onde não havia um antes.
sed -e 's|\<LIST_G_STATEMENT>|&\
|g' ${XMLDIR}/statement_tmp_1.xml > ${XMLDIR}/statement_tmp_2.xml
sed -e 's|\</LIST_G_STATEMENT>|&\
|g' ${XMLDIR}/statement_tmp_2.xml > ${XMLDIR}/statement_tmp_3.xml
O uso od -c
em todos os três arquivos fornece a seguinte saída.
statement_tmp_1.xml (não \n
no final do arquivo)
1314700 T A T E M E N T > < / L I S T _
1314720 G _ S T A T E M E N T > < / G _
1314740 S E T U P > < / L I S T _ G _ S
1314760 E T U P > < / A R X S G P O >
1314777
statement_tmp_2.xml (não \n
no final do arquivo)
1314700 S T A T E M E N T > < / L I S T
1314720 _ G _ S T A T E M E N T > < / G
1314740 _ S E T U P > < / L I S T _ G _
1314760 S E T U P > < / A R X S G P O >
1315000
statement_tmp_3.xml ( \n
no final do arquivo - de onde veio?)
1314700 S T A T E M E N T > < / L I S T
1314720 _ G _ S T A T E M E N T > \n < /
1314740 G _ S E T U P > < / L I S T _ G
1314760 _ S E T U P > < / A R X S G P O
1315000 > \n
1315002
Estou executando o AIX 5.3
Basicamente, eu quero que ele pare de adicionar o extra \n
ou encontre uma maneira de removê-lo.
\n
no lado direito não é portátil.
perl
ou outra ferramenta que possa lidar com dados binários.
\<LF>
é a maneira tradicional e POSIX de adicionar um caractere LF. \n
normalmente substituiria um n
personagem em qualquer coisa, exceto GNU sed
.
s|...|&\n|
também?