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