是否存在用于压缩目录中每个文件并将其输出到另一个目录的脚本?

问题描述 投票:0回答:1

因此,我希望将文件压缩到给定目录中,例如/ etc / input并在/ etc / output中输出文件,它应该类似于:

$ ls /etc/input
file1
file2
file3

$ script.sh

$ ls /etc/output
file1.zip
file2.zip
file3.zip

$ ls /etc/input

目前,我写的内容如下:

find . -type f -print | while read fname ; do
    mkdir -p "../output/`dirname \"$fname\"`"
    gzip -c "$fname" > "../output/$fname.gz"
done
bash scripting compression gzip
1个回答
0
投票

您可以使用find,但我认为使用纯Bash会更简单。

INPUT=/etc/input
OUTPUT=/etc/output

mkdir -p "$OUTPUT"
for file in "$INPUT"/* ; do
  gzip -c "$file" > "${OUTPUT}/${file}.gz"
done

更改INPUTOUTPUT以匹配您想要的内容。

© www.soinside.com 2019 - 2024. All rights reserved.