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

bashで文字列を(解凍/解凍)圧縮しますか?

33% の圧縮率の損失が許容できる場合は、base64 でエンコードされた圧縮データを保存できます:

me$mybox$ FOO=$(echo "Hello world" | gzip | base64 -w0) # compressed, base64 encoded data
me$mybox$ echo $FOO | base64 -d | gunzip # use base64 decoded, uncompressed data
Hello world

動作しますが、3 (圧縮) バイトごとに 4 バイトのテキストに格納されます。


行う場合:

hey=$(echo "hello world" | gzip -cf)

変数 hey に同じバイトがありません /tmp/myfile のように 作成者:

echo "hello world" | gzip -cf > /tmp/myfile

「gzip:stdin is a multi-part gzip file -- not supported」というエラーが表示されるのは、解凍できない圧縮データが壊れているためです。

VAR=$(...) 構造は、テキストを操作するために設計されています。これが、たとえば追加の末尾トリムを取得する理由です。


Linux
  1. Bashスクリプトで文字列を分割する方法

  2. Bash で、ファイルの各行の後に文字列を追加するにはどうすればよいですか?

  3. bash のテキスト文字列を配列に変換する

  1. SedでBash文字列変数への参照を使用しますか?

  2. Bashで文字列を16進数として読み取る方法は?

  3. 「bash -c」は何をしますか?

  1. Bashで文字列の長さを見つける方法[クイックヒント]

  2. 文字列にBashの部分文字列が含まれているかどうかを確認する方法

  3. cat << EOFはbashでどのように機能しますか?