サクラエディタを使って固定長(改行なし)のテキストデータを改行ありに変換する方法を解説します。
環境
- Windows
- サクラエディタ(v2.4.1)※バージョンに依存しないはず
方法1. 折り返し位置に改行をつける
- サクラエディタで固定長(改行なし)のファイルを開 く
- メニューバーの[設定] > [タイプ別設定] をクリック
- タイプ別設定ウィンドウの[スクリーン]タブのレイアウト内で下記を指定して[OK]ボタンをクリック
- 折り返し方法:”指定桁で折り返す”
- 折り返し桁数:レコード長(文字数)
- 指定したレコード長で折り返した状態で表示される
- [Ctrl] + [A] で全選択
- メニューバーの[編集] > [折り返し位置に改行をつけてコピー]
- 全選択された状態で、[Ctrl] + [V] で貼り付け
- [Ctrl] + [S] で上書き保存
これで、指定したレコード長の固定長(改行あり)のテキストファイルが出来上がります。
上記の手順で付加される改行はCRLF になるので、LF で作成したい場合は、上書き保存する前に置換機能でCRLF をLF に置換するか、名前を付けて保存で改行コードをLF で保存します。
方法2. キーマクロ
1. キーマクロファイルの作成
下記の内容を記述したテキストファイルを作成します。
S_GoFileTop(0); // ファイルの先頭に移動
S_ReplaceAll('(.{256})', '$1¥¥r¥¥n'); // すべて置換
S_ReDraw(0); // 再描画
- S_ReplaceALL の第一引数に、レコード長(文字数)を指定する
- S_ReplaceALL の第二引数に、追加する改行コードを指定する
- CRLF の場合は ¥¥r¥¥n
- LF の場合は ¥¥n
キーマクロのファイルは、下記の形式で保存します。
- 改行コード:CRLF
- 文字コード:UTF-8(BOM付)
- ファイル名の拡張子:.mac
2. 固定長(改行なし)ファイルの変換
- サクラエディタで固定長(改行なし)のファイルを開く
- メニューバーの[ツール] > [キーマクロの読み込み] をクリック
- Open ウィンドウで作成したキーマクロのファイルを選択して[OK]ボタンをクリック
- メニューバーの[ツール] > [キーマクロの実行] をクリック
- [Ctrl] + [S] で上書き保存
これで、指定したレコード長の固定長(改行あり)のテキストファイルが出来上がります。
付加する改行の種類は、キーマクロのファイルで指定しておくことができます。
方法1と方法2のどちらを使うか
方法1と方法2の使い分けについて少し考えてみます。
方法1. 折り返し位置に改行をつける
感覚的に操作できるので、覚えておくと何かと便利そうです。スポットで対応する時はこちらの方法の方が素早く対応できそうです。
方法2. キーマクロ
キーマクロのファイルを準備する必要がある分、スポットでの対応には不向きかもしれませんが、定例作業や同じ作業を繰り返す場合は、一度キーマクロのファイルを準備しておけば、こちらの方が正確に素早く作業できるのではないかと思います。手順書に従って作業をする場合は、手順書とキーマクロのファイルを共有して行う感じでしょうか。
あとがき
今回解説した方法は、テキストデータに含まれる文字がASCIIコードのみであれば問題ないですが、文字コードがShift-JISでASCIIコード以外の文字を含む場合は、方法2は使えなかったり、UTF-8でASCIIコード以外の文字を含む場合は、どちらも使えなかったりします。
固定長でUTF-8というのを見たことないので何ともいえませんが、UTF-8ではこの方法は使えないと考えた方が安全なのかもしれないです。