次の2つのsed
コマンドを実行しています。最初の行は、必要な場所に改行文字を追加し、2番目の行は、必要な場所に改行文字を追加しますが、前に存在しなかったファイルの末尾に余分な文字を追加します。
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
od -c
3つのファイルすべてで使用すると、次の出力が得られます。
statement_tmp_1.xml(\n
ファイルの最後にありません)
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
ファイルの最後にありません)
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
ファイルの最後-どこから来たのですか?)
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
AIX 5.3を実行しています
基本的に、余分の追加を停止する\n
か、削除する方法を見つけます。
\n
右側には携帯型ではありません。
perl
またはバイナリデータを扱うことができる他のツール。
\<LF>
LF文字を追加する従来のPOSIXの方法です。\n
通常n
、GNU以外の文字を文字に置き換えますsed
。
s|...|&\n|
ですか?