XMLファイルにcrlf文字を追加する

XMLファイルにcrlf文字を追加する

UNIXサーバーによって生成されたテキストファイルをメインフレームデータセットとしてFTPに送信しようとしています。このファイルは、キューからデータを抽出して生成されたテキストファイルです。構成は、次のようにXMLファイルを介して実行されます。

</config> <exporters> <exporter id="REPORTING"> <number-of-exporter>1</number-of-exporter> <output-directory-name>/EXPORTER/OUT/</output-directory-name> <output-file-pattern>export_%.txt</output-file-pattern> <jndi-source-queue-name>queue.name</jndi-source-queue-name> <jndi-source-connection-factory>queue.name</jndi-source-connection-factory> <export-sleep-time>500</export-sleep-time>

上記のコードにCRLF文字を追加する方法を教えてください。

答え1

各クローズタグの後にLFを追加するには、次のものを使用できますsed

sed -e 's:</[^>]*>:&\n:g' inputfile.xml

LF(別名「改行」)だけでなく、CRまたはCRLFが本当に必要な場合は、\rorを使用してください。\r\n

標準出力に出力するのではなく、実際の入力ファイルを変更するためにsed's-iまたはオプションを使用するオプションがあります。--in-place

sed -i -e 's:</[^>]*>:&\n:g' inputfile.xml

注:現在誰も使用していない古いバージョンは-i利用できません。sed代わりにtmpファイルを使用してください。

答え2

unix2dos <file>文書

char メソッドは UX(LF) または Windows(CRLF)、Mac(CR) でも設定を読み取るのに非常に面倒です。

dos2unixCRLF > LFに変換

unix2dosLF > CRLFに変換

Notepad++を使用すると、そのアイテムを検索して置き換えることができます。

  • \n=低周波数
  • \r=CR
  • \r\n=キャリッジリターンと改行

関連情報