Estoy ejecutando los siguientes 2 sedcomandos. El primero agrega caracteres de nueva línea donde los quiero, el segundo también agrega caracteres de nueva línea donde los quiero, PERO también agrega uno adicional al final del archivo donde antes no había ninguno.
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
El uso od -cen los 3 archivos proporciona el siguiente resultado.
Statement_tmp_1.xml (no \nal final del archivo)
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 (no \nal final del archivo)
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 ( \nal final del archivo, ¿de dónde vino?)
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
Estoy ejecutando AIX 5.3
Básicamente, o quiero que deje de agregar el extra \n, o encontrar una forma de eliminarlo.
\nen el lado derecho no es portátil.
perlu otra herramienta que pueda manejar datos binarios.
\<LF>es la forma tradicional y POSIX de agregar un carácter LF. \nPor lo general, sustituiría un npersonaje en cualquier cosa que no sea GNU sed.
s|...|&\n|también?