Estoy ejecutando los siguientes 2 sed
comandos. 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 -c
en los 3 archivos proporciona el siguiente resultado.
Statement_tmp_1.xml (no \n
al 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 \n
al 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 ( \n
al 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.
\n
en el lado derecho no es portátil.
perl
u otra herramienta que pueda manejar datos binarios.
\<LF>
es la forma tradicional y POSIX de agregar un carácter LF. \n
Por lo general, sustituiría un n
personaje en cualquier cosa que no sea GNU sed
.
s|...|&\n|
también?