0

次のようなコマンドを実行しようとしています:

gunzip -dc file.gz | tail +5c

したがって、これはバイナリファイルの内容から最初の 4 バイトを除いたものを stdout に出力し、機能します。ここで、ストリームの末尾に 3 バイトを追加する必要がありますが、ファイルではなく stdout のみを使用します。

ファイルに次のものが含まれていると想像してください。

1234567890

現在のコマンドでは、次のようになります。

567890

しかし、私は必要です:

567890000

それで... 何か考えはありますか?

4

3 に答える 3

3

これを試して :

{ gunzip -dc file.gz | tail -c 5 | tr -d '\n'; echo 000; }
于 2013-02-28T19:35:54.083 に答える
0

わかりましたので、答えに基づいて、最終的な解決策は次のとおりです。

gzcat file.gz | tail -c +5 | echo 000

tr -d '\n'ファイルの途中にある改行が削除されるため、を使用する必要はありませんでしたし、実際には使用すべきではありません。

于 2013-03-04T14:21:41.587 に答える
-1

のようなものがあります

$ echo "`gunzip -dc file.gz | tail +5c`BBB"

(BBB は余分な 3 バイトです) うまくいきましたか?

于 2013-02-28T19:30:16.557 に答える