GNU/Linux >> Linux の 問題 >  >> Linux

解凍せずに圧縮ファイルに行を追加する方法は?

man gzip から あなたはその gzip を読むことができます ped ファイルは単純に連結できます:

<ブロック引用>

高度な使い方複数の圧縮ファイルを連結できます。この場合、gunzip はすべてのメンバーを一度に抽出します。例:

        gzip -c file1  > foo.gz
        gzip -c file2 >> foo.gz

  Then

        gunzip -c foo

  is equivalent to

         cat file1 file2

これは cat を使用して行うこともできます gzip の場合 ped ファイル、例:

seq 1 4 > A && gzip A
echo 5 > B && gzip B
#now 1 to 4 is in A.gz and 5 in B.gz, we want 1 to 5 in C.gz:
cat A.gz B.gz > C.gz && zcat C.gz
1
2
3
4
5
#or for appending B.gz to A.gz:
cat B.gz >> A.gz

行を追加するための外部ファイルなしでそれを行うには、次のようにします:

echo "this is the new line" | gzip - | cat - >> original_file.gz

従業員テーブルのサイズはどれくらいですか? 100 万人の従業員がいて、各レコードに数千バイトかかる場合を除いて、わざわざ出力を圧縮する価値さえないでしょう。

ほとんどの場合、出力ファイルが作成されているときに圧縮する価値はありません。したがって、圧縮されていないプレーンテキストに出力するだけではなく、count=$(wc -l out1) ; echo "T$count" >> out1 を実行してください。 、そして gzip out1 で圧縮します ?

または、 select count(*) from employee のいくつかのバリエーションを実行するだけです spool off の前に コマンド。


私は同様の課題に取り組んでいました:圧縮された sql ダンプに数行を追加することです。私の解決策は、@Fiximan からの回答に基づいていました

echo 'append this string' | gzip >> out.gz

Linux
  1. Linuxでファイルの終わりにテキストを追加する方法

  2. テキストファイルの行を1行上または下に移動するにはどうすればよいですか?

  3. UNIX/Linux でファイルの行数を数える方法

  1. Linuxでファイルの終わりにテキストを簡単に追加する方法

  2. ファイルに複数の行を追加するにはどうすればよいですか?

  3. パス/ファイル:行を表示せずにgrep

  1. 出力をファイルに追加する方法は?

  2. VIM:Ubuntu で正確な行に移動する方法

  3. ファイルにテキストを追加するにはどうすればよいですか?