在 CentOS 里“批量 extract(解压)”通常有两种常见场景,下面分别说明,你可以按需选择。
.tar.gzfor f in *.tar.gz; do
tar -xzf "$f"
done
.tar.xzfor f in *.tar.xz; do
tar -xJf "$f"
done
.zipfor f in *.zip; do
unzip "$f"
done
for f in *; do
case "$f" in
*.tar.gz) tar -xzf "$f" ;;
*.tar.xz) tar -xJf "$f" ;;
*.tar.bz2) tar -xjf "$f" ;;
*.zip) unzip "$f" ;;
*.gz) gunzip "$f" ;;
*) echo "跳过: $f" ;;
esac
done
避免文件混乱:
mkdir -p extract_dir
for f in *.tar.gz; do
tar -xzf "$f" -C extract_dir
done
find 批量解压(含子目录)find . -name "*.tar.gz" -exec tar -xzf {} \;
或解压到对应目录:
find . -name "*.zip" -exec sh -c 'unzip "$1" -d "${1%.zip}"' _ {} \;
yum install -y unzip xz bzip2
如果你能说明:
我可以给你更精准的一行命令或脚本。