Jawaban:
Bagaimana kalau saja:
$ tar tf archive.tar.gz | grep foo
tar tf graphics.tar.gz | find . --name *space*
tetapi dikatakanunkown predicate --name
find
Argumen @clamp hanya membutuhkan satu tanda hubung, tetapi karena ini adalah daftar file di stdin, Anda ingin menggunakan grep
, seperti kode contoh hesse. Cobatar tf graphics.tar.gz | grep 'space'
grep *foo*
bukan ekspresi reguler yang valid. greg
tidak mengerti gumpalan, ia mengerti ekspresi reguler. Coba grep foo
saja.
Pasang arsip sebagai direktori. Anda dapat melakukannya dengan sistem file AVFS , yang memungkinkan Anda untuk mengakses arsip apa pun sebagai direktori yang namanya memiliki trailing #
.
mountavfs
cd ~/.avfs$PWD
find archive.tar.gz\# -name '*foo*'
Saya pikir itu berfungsi tanpa pipa dan grep.
seperti ini:
tar tvf archive.tar.gz "foo"
seperti ini, gumpalan juga akan berfungsi.
tar tvf archive.tar.gz "*.foo"