一种提取存档文件然后删除它们的方式

One liner to extract archive files then delete them

我在一个目录下有一堆 7-zip 文件,我想将它们全部解压,然后在 bash 中删除成功的文件。我写了这个: for f in *.7z; do if 7z e "$f" then echo "error $f" else rm "$f" fi; done

和 bash 提示:-bash: syntax error near unexpected token 完成'`。如何修复此语句?

您的一行缺少几个分号。试试这个

for f in *.7z; do if 7z e "$f"; then echo "error $f"; else rm "$f"; fi; done