【问题标题】:Get the filename in linux [closed]在linux中获取文件名[关闭]
【发布时间】:2016-11-12 11:18:09
【问题描述】:

我有 LAPP.NT.APC.HIST.zip 文件,我正在解压,

$ 解压缩 LAPP.NT.APC.HIST.ZIP
存档:LAPP.NT.APC.HIST.EXT.AUDIT.MTLY.ZIP
PKWARE 用于 z/OS 的 PKZIP
膨胀:LAPP.NT.APC.HIST.EXT.AUDIT1
膨胀:LAPP.NT.APC.HIST.EXT.AUDIT2

如何获得具体的inflating 文件名?如果我得到文件名,我想分配给一个变量,比如,怎么办?

filename=find . -type f -name "*.*"
echo $filename

感谢@Zlemini,@jszakmeister,

【问题讨论】:

  • 抱歉,不清楚您实际问的是什么。
  • 解压缩时,会将膨胀结果定向到特定文件夹。解压缩的结果可能是文件的平面列表或文件夹和文件的树。您可以简单地扫描目标文件夹(以及分层模式下的任何子文件夹)的内容并收集在那里找到的文件的名称。如果您正在寻找特定的文件名,请执行相同的操作,但提供(至少)文件名的种子。
  • 我正在寻找一个只有特定文件名的 zip

标签: linux bash shell


【解决方案1】:

unzip -l filename.zip 将打印存档中包含的名称、未压缩文件大小以及修改日期和时间,而不会对其进行膨胀。

unzip -Z1 peace.zip 我认为在这里更合适,因为它只会显示文件名。

以下是分配给变量的 zip 文件中包含的文件名:

files_zipped=$(unzip -Z1 filename.zip)

【讨论】:

  • 谢谢,但是我想分配给一个变量的文件名膨胀,怎么办?
  • 你需要解析unzip -l的输出,例如:zipfile_content=$(unzip -l filename.zip | awk '{print $NF}')
  • 请解释上面的命令,如果 echo $zipped_gif 我没有得到文件名?
  • 更新答案以解决此问题
  • 我会使用 unzip -Z -1 filename.zip... 它避免了额外的 awk 处理,因为它只会打印文件名。
猜你喜欢
  • 1970-01-01
  • 2014-09-14
  • 2020-12-08
  • 2014-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-20
相关资源
最近更新 更多