Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

改行のないファイルに改行を付与して別名で保存する

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!

ホストシステムからダウンロードしたデータや、レガシーなシステム間でやり取りされる「固定長テキストデータ」。

「1行が〇〇バイトって決まっているのに、ファイル全体が一切改行されずに1行に繋がっていて、中身が確認できない!」と困ったことはありませんか?

今回は、そんな「改行のないフラットなファイル」に、指定した桁数(バイト数)ごとに自動で改行を入れて別名で保存する方法をまとめました。

Windows(GUI・CUI)、Excel VBA、Linuxのそれぞれの環境に応じた決定版の手順をご紹介します!

スポンサーリンク
バッチ処理の自動化スキルは市場価値が高いです。今の自分の単価を調べてみませんか?
顧客常駐はもう嫌だ!社内SEへ転職するなら【社内SE転職ナビ】
Cursor・Claude Code・Codex AIスキルを学ぶなら
環境構築不要!AIエージェント開発を非エンジニアでも即実践【AI Agent Camp】

1. 【Windows: GUI版】サクラエディタの神機能を使う

Windowsでパパッと手動で処理したいなら、定番の無料テキストエディタ「サクラエディタ」を使うのが一番簡単です。実は「折り返し位置に改行を入れてコピーする」という超便利な機能が標準で備わっています。

➔ 作業手順

  1. サクラエディタで対象のファイルを開きます。

  2. メニューの [設定] ➔ [タイプ別設定] を開きます。

  3. スクリーンタブにある「折り返し方法」を [指定桁で折り返す] に変更し、「折り返し桁数」に改行を入れたい任意のバイト数(例: 128)を入力して [OK] を押します。

  4. 画面上で指定桁数ごとに折り返されたら、Ctrl + A でファイル全体を選択します(※選択した範囲しか改行コピーされないため、必ず全選択してください)。

  5. メニューの [編集] ➔ [折り返し位置に改行をつけてコピー] を選択します。

  6. 新規ファイルを開いて貼り付け(Ctrl + V)し、別名で保存すれば完了です!

2. 【Windows: CUI版】PowerShellやコマンドで自動化する

大量のファイルがあったり、毎回サクラエディタを開くのが面倒な場合は、プログラムで自動化しましょう。

💡 PowerShellでサクッと実行する場合

PowerShellを使えば、128バイトごとに改行を入れる処理をコマンド数行で実行できます。

PowerShell

# 128バイトごとに分割して改行を入れ、別名で保存する例
$bytes = [System.IO.File]::ReadAllBytes("C:\path\to\input.dat")
$stream = [System.IO.File]::Create("C:\path\to\output.txt")

for ($i = 0; $i -lt $bytes.Length; $i += 128) {
    $length = [Math]::Min(128, $bytes.Length - $i)
    $stream.Write($bytes, $i, $length)
    $stream.WriteByte(13) # CR
    $stream.WriteByte(10) # LF
}
$stream.Close()

🔗 参考になる外部リンク

バッチファイルやExcel VBAでゴリゴリ処理したい方は、以下の老舗サイトや知恵袋の解説が非常に参考になります。

3. 【Linux版】最強の「fold」コマンド一発で解決

Linux環境(あるいはMacやGit Bashなど)であれば、ツールを探す必要すらありません。標準で用意されている fold コマンド を使えば、一瞬で処理が完了します。

➔ コマンド例

改行のない a.txt を「100バイトごと」に改行して、a_after.txt という別名ファイルで出力したい場合は、以下のコマンドを叩くだけです。

Bash

fold -w 100 a.txt > a_after.txt
  • -w 100:画面の幅(width)を100バイトに指定して折り返すオプションです。

  • >:リダイレクトを使って、折り返した結果を別名ファイルに保存しています。

短くてシンプル、かつ超高速に処理できるので、Linux環境があるならこれが最もスマートな方法です。

まとめ

改行のない固定長データはそのままでは視認性が最悪ですが、環境に合わせて適切な方法を選べば、数秒で綺麗に整形することができます。

  • 画面で見ながら手動でやりたい ➔ サクラエディタの「折り返し改行コピー」

  • Windowsで自動化したい ➔ PowerShellやVBA・バッチの活用

  • Linux環境があるfold コマンド一発

ご自身の作業環境に合わせて、一番ラクな方法を試してみてくださいね!

 

 

タイトルとURLをコピーしました