GNU / Linuxでは、cat
ファイルとワークピースは魔法の方法で結合されます。少なくとも私には次のようになります。
cat part_* > /destination/file.xyz
同じファイル形式のソースファイルとターゲットファイルを持つことは、.ogg
プレーンmpg
テキストファイルと同じ形式の魅力のように機能します。しかし、他のファイルから非常に興味深く奇妙な結果を得ました。
.flac
→結合されたファイルが最初のファイルの長さを表示し、最初のファイルの長さを表示し続けながら他のすべての部分に沿って再生されることを除いて、すべてがうまく機能します(当時のCDの「隠しトラック」など)。.pdf
cat
→エラーメッセージなしで終了し、ターゲット名を持つ最初のファイル(コマンドの後に続くファイル)のみが表示され、コピーは別の名前で保存されます。
質問cat
:試行錯誤に加えて、どのファイル形式をマージでき、どのファイルタイプをマージできないかを判断する方法はありますか?
これまで、私はファイルの特定のヘッダー形式に多くが依存していることを理解しました。しかし、「すべての実行ファイルがヘッダーで始まるべきだと思いましたか?!」という疑問があります。
答え1
頼む、
試行錯誤に加えて、catとマージできるファイル形式とマージできないファイル形式を見つけるための別の方法はありますか?
あなたが書いた他の質問に対するコメントでは、
どの猫が称号と見なすことができ、どの猫がそうでないかを教えてください。
cat
ファイルの種類を知らない、気にしないことが根本的な問題だと思います。 1つ以上のファイルを取得し、ソースファイルの連続コピーの結果である出力ストリームを生成します。
その後、アプリケーションは結果ファイルを処理して、マージされた結果ファイルが「合理的な」かどうかを判断します。
たとえば、PDFファイルをマージするには、次の方法を使用する必要がありますpdftk
。単純な接続は機能しません。ご存知のように、一部の種類のデジタル音楽ファイルは接続できますが、他の種類の音楽ファイルは接続できません。場合によっては、あるプレイヤーはリンクされたファイルを処理できますが、他のプレイヤーは処理できない場合があります。単純なルールはありません。
答え2
基本的に自分の質問に答えました。ファイル形式にヘッダーがあるかどうかによって異なります。
「実行可能」に関しては… シェルスクリプトは「実行可能」です。シェルは最初の行にコメントがあるのでこれを実行する方法を知っています。両方のスクリプトをマージすると意味のある結果が得られます。ただし、バイナリ形式の実行可能ファイル(elfなど)と組み合わせると、正しく機能しません。