コマンドラインでsql.gzファイルをプレーンテキストSQLとして表示するにはどうすればよいですか?
.sql.gz
サーバーのコマンドラインからファイルに保存されているSQL文を読みたいです。私はそれを試しtar -xzvf
ましたがtar: This does not look like a tar archive
。cat
圧縮されたため、ガベージを返します。
答え1
gunzip -c <filename> | less
または
zcat <filename> | less
答え2
zcat file.sql.gz
ファイルをstdoutに出力してからgrep
ormore
またはless
等と組み合わせることができます。
答え3
何度も、おそらくこの場合、単に普通のものがless
正しいことをするでしょう。これはless
プリプロセッサと呼ばれるものを使用します。だから
less file.sql.gz
これは実際にはファイルをプレーンテキストでファイルシステムに記録するのではなく、見るのが楽しいことですが、ほとんどの場合それで十分です。私は個人的にless
前処理が非常に便利だと思います。複数のコマンドを覚える必要がなくなりました。少なくともDebianでは前処理が少なくなります/usr/bin/lesspipe
。これはシェルスクリプトです。この場所は、環境変数LESSOPENの値を調べることで見つけることができます。例えば
echo $LESSOPEN
|/usr/bin/lesspipe %s
gzip圧縮テキストファイルについてのみ、このスクリプトの関連部分は次のとおりです。
# Note that this is out of alpha order so that we don't catch
# the gzipped tar files.
*.gz|*.z|*.dz)
gzip -dc "$1" ;;
これはless
Debian wheezyのバージョン444-4です。