“在这里提取”仅是unzip
您使用的任何包装器的功能。unzip
只会提取存档中的实际内容。没有比shell脚本更简单的方法了。但是sed
,awk
如果您具有POSIX兼容的外壳程序,则不需要,等等。
for f in *.zip; do unzip -d "${f%*.zip}" "$f"; done
(您绝不能逃脱,*
否则路径名扩展将不会发生。)请注意,如果ZIP归档文件包含目录(例如Eclipse归档文件(始终包含eclipse/
)),则无论如何都将以结尾./eclipse*/eclipse/eclipse.ini
。试运行echo
前添加unzip
。