Files

僅列出檔案中的文件而不是目錄

  • January 19, 2021

我有一個如下所示的 zip 實現

$ unzip -l 5124.zip
Archive:  5124.zip
 Length      Date    Time    Name
---------  ---------- -----   ----
       0  01-13-2021 09:22   u/
       0  01-13-2021 09:22   u/MyCom/
       0  01-13-2021 09:22   u/MyCom/UNX/
       0  01-13-2021 09:22   u/MyCom/UNX/scripts/
       0  01-13-2021 09:22   u/MyCom/UNX/scripts/SYNC/
       0  01-13-2021 09:22   u/MyCom/UNX/scripts/SYNC/sql/
   48704  01-13-2021 01:50   u/MyCom/UNX/scripts/SYNC/sql/Load.sql
   41872  01-13-2021 01:00   u/MyCom/UNX/scripts/SYNC/sql/Update1.sql
---------                     -------
   90576                     8 files

我只想獲取存檔中的文件名,而忽略上述情況下的其余文件名

/u/MyCom/UNX/scripts/SYNC/sql/Load.sql
/u/MyCom/UNX/scripts/SYNC/sql/Update1.sql

注意:我需要/的輸出中缺少前面的內容unzip

/u/MyCom/UNX/scripts/SYNC/sql/Load.sql
/u/MyCom/UNX/scripts/SYNC/sql/Update1.sql

並不是

u/MyCom/UNX/scripts/SYNC/sql/Load.sql
u/MyCom/UNX/scripts/SYNC/sql/Update1.sql

從任何給定的 zip 獲取此資訊的任何好方法?

您可以使用zipinfo -1列出文件路徑並sed刪除以 a 結尾的路徑/並在每行前面加上 a /

$ zipinfo -1 5124.zip | sed '/\/$/d;s/^/\//'
/u/MyCom/UNX/scripts/SYNC/sql/Load.sql
/u/MyCom/UNX/scripts/SYNC/sql/Update1.sql

引用自:https://unix.stackexchange.com/questions/629928