1

単純な文字ファイルと pdf ファイルの 2 種類のファイルがあります。

最初のファイルの名前はplainFile.abcで、2番目のファイルの名前はpdfFile.pdfです

2 つのファイルを 1 つのファイルに結合したい。

宛先ファイルの名前は結合されます.file

私は同じことを達成するために cat コマンドを使用しています:

Way 1:

cat plainFile.abc > combined.file
cat pdfFile.pdf > combined.file

Way 2:

cat plainFile.abc > combined.file
cat pdfFile.pdf >> combined.file   

上記の「>」と「>>」の違いに注意してください。

方法 1 では、「演算子 > を使用して複数のファイルを 1 つに結合できます」と定義されていても、2 番目のファイルが宛先ファイルに追加されません。

方法 2 では、両方のファイルが結合されますが、2 番目のファイルは最初のファイルが終了する位置に追加されます。これいらない。2 番目のファイルを新しい行の新しい位置から開始したい。

アイデアは、宛先ファイルをメインフレームに送信して解析することです。

したがって、2 番目のファイルを 1 番目の位置から開始する必要があります。

----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
second file should start from position one

ただし、現在、最初のファイルが位置 3 で終了している場合、2 番目のファイルはその直後、つまり位置 4 に追加されます。

私の要件を達成する方法は?

CAT コマンドよりも良い方法はありますか?

読んでくれてありがとう!

4

2 に答える 2

5

新しいファイルを新しい行の先頭から開始したい。

これが必要な場合catは、おそらく必要なコマンドです。空白のエコーをパイプすることで、改行を挿入できます。

cat plainFile.abc > combined.file
echo >> combined.file
cat pdfFile.pdf >> combined.file

または、少し面倒な方法では、echoを使用して空白行だ​​けでファイルを作成できます。

echo > blank_line

次に、次のcatコマンドを使用します。

cat plainFile.abc blank_line pdfFile.pdf > combined.file

編集

1)pdfが改行から始まっていません。2)また、PDFはメインフレームに破損したファイルとして表示されます。CATは、異なるタイプの複数のファイルを1つのファイルに結合する正しい方法ですか?

それらを連結したい場合は、はい、を使用しますcat。多くのファイルを組み合わせて、後でそれらを分離できるようにしたい場合は、catを使用しないでください。これは、その目的ではないためです。バイナリpdfは、ASCIIファイルの最後に連結したために破損します。後でファイルを分離できるようにしたい場合は、infgeoaxのアドバイスに従って、を使用してtarください。

cat一度連結したものを分離できるようなことはしません。たとえば、「are」、「a」、「dyes」の3つの文字列があります。それらを連結すると、「準備完了」になります。何から始めたかについての予備知識がなければ、それらを再び3つの文字列に分けることはできません。それは「ある」、「ある」、「染まる」ですか?または「a」、「read」、「yes」?文字列を区切るためにスペースやその他の文字を追加できますが、開始した文字列にそれらの文字の1つが含まれている場合はどうなりますか?

このメインフレームがない場合はtar、別のことを考える必要があります。catたぶん、pdfファイルで使用する代わりにhexdump、、、odまたはuuencode/のようなものを使用uudecodeしてバイナリファイルをASCIIにダンプしてから、メインフレームでバイナリファイルを再構築します。

于 2012-05-30T08:20:56.490 に答える
3

なぜ使用しないのですかtar

tar cf outputfile plainfile.abc pdfFile.pdf

メインフレームでは、プロセスを逆にすることができます

tar xf ouputfile
于 2012-05-30T05:10:10.590 に答える