はじめに
Linux環境でsplit
コマンドを使って、大きめのバイナリファイルを分割しました。分割されたファイルをWindows環境に持ってきたのですが、それらを結合する方法が分かりませんでした。WindowsにWSL(Windows Subsystem for Linux)が入っていれば、cat
コマンドで連結できます。しかし、WSLはありませんでした。
さて、どうしたものか。ChatGPTで解決方法を探ることにしました。
Linuxのsplitで分割したバイナリファイルを、Windowsで結合する方法
プロンプト
linuxのsplitで分割したバイナリファイルを、Windowsで結合する方法を教えてください。
回答
Linuxのsplit
コマンドで分割したバイナリファイルをWindowsで結合するには、以下の手順で進めます。
分割ファイルの確認
- Linuxで
split
コマンドにより分割されたファイルは通常、xaaa
、xaab
などの連番で保存されています。
Windows環境での結合方法
Windowsで分割ファイルを結合するには、copy
コマンドを使用します。コマンドプロンプトで以下のように入力してください。
copy /b xaaa + xaab + xaac outputfile
/b
はバイナリモードでのコピーを指定します。
xaaa
、xaab
、xaac
などのファイルを結合し、最後の引数であるoutputfile
として結合結果を保存します。
上記のコマンドは、連続するファイルをバイナリモードで結合し、元のファイル形式(例えば画像や動画など)に戻してくれます。
注意事項
- 結合時にファイル名の順番を間違えないようにしてください。順番が崩れると元ファイルが正しく復元されません。
- ファイルが多い場合、ワイルドカード(
*
)でまとめて指定できないため、すべてのファイル名を手動で指定する必要があります。
これで、Linuxで分割したバイナリファイルをWindowsで結合できます。
実践
copy /b xaaa + xaab + xaac outputfile
コマンドプロンプトで上記のコマンドを実行してみたところ、分割したバイナリファイルを結合できました!最初、PowerShellでコマンドを実行したところ、エラーになりました。ちゃんと「コマンドプロンプトで」と指定されていましたね。
やってみた感想
- Linux、Windows間で、特にツールをインストールすることなくバイナリファイルの分割、結合ができることが分かりました。
copy
コマンドでバイナリファイルを連結できるとは知りませんでした。
/b
を付けたり+
でつないでファイルを指定するなど、知らなければできないと思いました。
- こういう「ちょっとした困りごと」をChatGPTに聞いて解決する、ということが最近増えてきました。
- まさに一撃でした。