Windowsでテキストの改行を置換する方法

テキストファイル内の改行を置換する方法を紹介します。

(*)残念ながらWindows 標準のメモ帳では改行の置換はできないようです。

スポンサーリンク

(1)エディタを使用する方法

シェアウェアやフリーソフトなどで正規表現が使用できるエディタを使用します。
参考:改行を他の文字に置換(変換)する方法

(2)Excel を使用する方法

Excel でも改行を置換することができます。Excelは csv ファイルなどとしてテキストファイルを読み込むことができます。
またcsvファイルなどとしてテキストファイルとして出力することができます。
この機能を使用して改行を置換することが出来ます。
参考:
Excel の置換ボックスで改行コードを入力


Excel で改行コード(Ctrl + J)が置換できない

スポンサーリンク

(3)コマンドで

恐らくWindows 標準のコマンドではテキストファイルの改行の置換はできないのではないでしょうか。
cygwin のように Windows 上で UNIX系のコマンドを使用できるツールをインストールすれば可能です。。
以下、trコマンドにより:\temp\test.txtの改行を , (カンマ) に全て置換して、c:\temp\output.txt に出力するコマンドです。
tr '\r\n' ',' < c:\temp\test.txt > c:\temp\output.txt

(4)vbscript

以下はvbscript の例です。以下をメモ帳で作成し、適当な名前 (xxx.vbs) で保管します。
その後コマンドプロンプトより cscript xxx.vbs <ファイル名> で実行します。改行をカンマに置換した結果が出力されるため、必要に応じてファイルに保管します。
余りにも大きなファイルではReadALLで失敗する場合があるようです。
rem テキストファイルで改行をカンマに置換するサンプル
rem 実行方法:cscript myscript.vbs

Set objArgs = WScript.Arguments

Set objFS = CreateObject("Scripting.FileSystemObject")
Set objText = objFS.OpenTextFile(objArgs(0))

If objText.AtEndOfStream = False Then
 sData = objText.ReadALL
 sData = Replace(sData,vbCrLf,",")
 WScript.echo sData
End If

objText.Close
Set objText = Nothing
Set objFS = Nothing

(5)フリーソフト

その他フリーソフトなどで置換する優秀なツールが多数あるようです。

スポンサーリンク

[コラムに戻る]