【问题标题】:Zip files within the directory without file extensions压缩目录中的文件,不带文件扩展名
【发布时间】:2023-04-03 04:55:02
【问题描述】:

我正在尝试将所有文​​件压缩到一个单独包含 .py 文件的目录中。但是在压缩文件后,我看到的输出是 .py.zip 而不是 .zip

这是我正在尝试执行的一个线性命令。

cd scripts/python/
for i in *; do zip $i.zip $i; done

【问题讨论】:

  • 不清楚是要将所有脚本压缩到一个文件中,还是单独压缩它们。请使用文件示例列表(1-3 应该足够)和您想要的最终结果更新您的 Q。当你这样做时,我会删除这条评论。祝你好运。
  • I really hate this dumb machine, I wish that they would sell it; it never does quite what I want, but only what I tell it. 好吧,如果您不想要全名,请在决定命名之前去掉扩展名。
  • 另外,请引用您的变量以防止不必要的通配符或分词。
  • .py.zip 有什么不受欢迎的理由吗?如果文件稍后被移动或复制到其他地方,看起来".py.zip" 会比".zip" 提供更多信息(并且避免需要调用unzip -l 来找出.zip 文件中的内容)跨度>

标签: linux


【解决方案1】:

这就是你要找的:

for i in *py; do 
    zip "${i%.*}".zip "$i"; 
done

说明

${i%.*}: 这利用了 Bash 的内置参数扩展。在这里,它尝试匹配% 之后的所有内容。如果确实找到了匹配项,它将使用匹配项之前的所有内容。 https://www.gnu.org/software/bash/manual/bash.html#Shell-Parameter-Expansion 了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    • 2015-12-26
    相关资源
    最近更新 更多