Archive
如何列出 zip 存檔的內容,但只列出第一級?
我有一個很大的 zip 文件,我想知道它包含什麼。我知道我可以執行:
zipinfo file.zip
但是輸出太冗長,子目錄中有很多文件。
我想在頂層查看文件列表。
例子
如果正常輸出是:
-sh-3.2$ zipinfo file.zip Archive: file.zip 999999999 bytes 99999 files -rw-r--r-- 2.3 unx 3894 tx defN 3-Jul-11 13:11 file1 drwxr-xr-x 2.3 unx 0 bx stor 23-Feb-12 21:00 dir1/ -rw-r--r-- 2.3 unx 269 tx defN 23-Oct-11 14:34 dir1/file2 drwxr-xr-x 2.3 unx 0 bx stor 25-Sep-11 03:53 dir1/subdir1/ ... drwxr-xr-x 2.3 unx 0 bx stor 23-Feb-12 21:00 dir2/ ...
我想要一個將輸出的命令:
-sh-3.2$ <answer> Archive: file.zip 999999999 bytes 99999 files -rw-r--r-- 2.3 unx 3894 tx defN 3-Jul-11 13:11 file1 drwxr-xr-x 2.3 unx 0 bx stor 23-Feb-12 21:00 dir1/ drwxr-xr-x 2.3 unx 0 bx stor 23-Feb-12 21:00 dir2/ drwxr-xr-x 2.3 unx 0 bx stor 23-Feb-12 21:00 dir3/ ...
您可以使用 grep 過濾輸出。在這裡,我告訴 grep 隱藏所有包含斜杠“/”的行以及斜杠之後的任何內容:
zipinfo file.zip | grep -v "/."
在@dvb’s answer的基礎上擴展和建構,您可以使用擴展的正則表達式設置深度級別:
zipinfo file.zip | egrep "^([^/]*/?){<deepness-level>}$"