web-dev-qa-db-ja.com

tar.gzアーカイブ内のファイルを見つける

findコマンドを使用して、ワイルドカードを使用してtar.gzアーカイブ内のファイルを検索することはできますか?

お気に入り

find archive.tar.gz --name *foo*
12
clamp

どうですか:

$ tar tf archive.tar.gz | grep foo
17
user13742

アーカイブをディレクトリとしてマウントします。 [〜#〜] avfs [〜#〜] ファイルシステムでこれを行うことができます。これにより、名前に末尾に#が付いたディレクトリとして任意のアーカイブにアクセスできます。

mountavfs
cd ~/.avfs$PWD
find archive.tar.gz\# -name '*foo*'

私はそれがパイプとグレップなしで動作すると思います。

このような: tar tvf archive.tar.gz "foo"

このように、グロブも機能します。

tar tvf archive.tar.gz "*.foo"

2
Saeed Sepehr