在 CentOS 里如果你说的 extract 是指批量解压文件(比如 .tar.gz、.zip、.tar.xz 等),下面给你几种常见、实用的做法。
.tar.gz 文件for f in *.tar.gz; do
tar -xzf "$f"
done
如果你希望解压到单独目录:
for f in *.tar.gz; do
d="${f%.tar.gz}"
mkdir -p "$d"
tar -xzf "$f" -C "$d"
done
.zip 文件for f in *.zip; do
unzip "$f"
done
解压到单独目录:
for f in *.zip; do
d="${f%.zip}"
mkdir -p "$d"
unzip "$f" -d "$d"
done
for f in *; do
case "$f" in
*.tar.gz) tar -xzf "$f" ;;
*.tgz) tar -xzf "$f" ;;
*.tar.xz) tar -xJf "$f" ;;
*.tar.bz2) tar -xjf "$f" ;;
*.zip) unzip "$f" ;;
esac
done
find 批量解压(含子目录)find . -name "*.tar.gz" -exec tar -xzf {} \;
子目录 + 单独目录解压:
find . -name "*.tar.gz" | while read f; do
d="${f%.tar.gz}"
mkdir -p "$d"
tar -xzf "$f" -C "$d"
done
| 格式 | 命令 |
|---|---|
| .tar.gz / .tgz | tar -xzf |
| .tar.xz | tar -xJf |
| .tar.bz2 | tar -xjf |
| .zip | unzip |
如果你说的 “extract” 是指某个具体工具(如 extract 命令、脚本、软件),把用法或报错贴出来,我可以更精准帮你。