只列出档案中的文件而不是目录

阿斯尔

我有一个像下面这样的 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 结尾的路径,/并在每行前面加上前缀/

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章