Saya menjalankan 2 sed
perintah berikut . Yang pertama menambahkan karakter baris baru di mana saya inginkan, yang kedua juga menambahkan karakter baris baru di mana saya ingin mereka, TAPI juga menambahkan satu lagi di akhir file di mana tidak ada sebelumnya.
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
Menggunakan od -c
pada ketiga file memberikan output berikut.
statement_tmp_1.xml (tidak ada \n
di akhir file)
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 (tidak ada \n
di akhir file)
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
di akhir file - dari mana asalnya?)
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
Saya menjalankan AIX 5.3
Pada dasarnya, saya ingin menghentikan penambahan \n
, atau menemukan cara menghapusnya.
\n
di sisi kanan tidak portabel.
perl
atau alat lain yang dapat menangani data biner.
\<LF>
adalah cara tradisional dan POSIX untuk menambahkan karakter LF. \n
biasanya akan menggantikan n
karakter dalam apa pun selain GNU sed
.
s|...|&\n|
juga?