所以我使用亚马逊来提供一些文件。
我希望在上传之前对这些文件进行gzip
首先我将模板复制到新文件夹
cp -r templates/ templatesGZIP
然后我GZIP那个文件夹
gzip -r templatesGZIP
问题是这会将.gz添加到所有文件名中。所以例如homeTemplate.html更改为homeTemplate.html.gz
运行gzip -r templatesGZIP有什么办法,我说我想保持扩展名相同
由于
丹
答案 0 :(得分:2)
gzip
只做一件事,将一个文件转换为gz档案。你需要的是一个tar.gz文件。你的朋友是tar
,也可以使用gzip
cp -r templates templatesGZIP
tar czf templatesGZIP.tar.gz templatesGZIP
Backround:tar
做得很好:它将目录结构转换为单个文件。上面的tar
命令解释了:
答案 1 :(得分:1)
Bash script: Gzip an entire folder and keep files extensions same
这肯定有助于先用gzip压缩它们,然后重命名它们。
谢谢&问候,
阿洛克
答案 2 :(得分:0)
您可以使用stdout
作为临时缓冲区,并将输出写入您选择的文件中:
gzip -cr templatesGZIP > outputfile.extension
答案 3 :(得分:0)
gzip中没有选项可以执行此操作。使用双目录方法,以下应该做的伎俩
for in_file in $(find templates -type f)
do
out_file="templatesGZIP/${in_file#templates/}"
mkdir -p "$(dirname "$out_file")"
gzip -c <"$in_file" >"$out_file"
done
使用此方法,不需要cp
命令。
这已经过测试。
对此有一点评论 - 看到没有扩展名的gzip文件并不常见。
答案 4 :(得分:0)
find templatesGZIP -type f ! -wholename *images* -exec gzip {} \; -exec mv {}.gz {} \;