我正在尝试压缩包含.py文件的目录中的所有文件。但是压缩文件后,我看到的输出是.py.zip
而不是.zip
这是我尝试执行的一行命令。
cd scripts/python/
for i in *; do zip $i.zip $i; done
这是您要查找的:
for i in *py; do
zip "${i%.*}".zip "$i";
done
解释
${i%.*}:
这利用了 Bash 的内置参数扩展。在这里,它尝试匹配%
之后的所有内容。如果它确实找到了匹配项,它将使用匹配之前的所有内容。https://www.gnu.org/software/bash/manual/bash.html#Shell-Parameter-Expansion 了解更多信息。