我是 shell 脚本的新手。我有一个要求,找出或列出 .bak(它应该只是 .bak,在列出时不应选择其他 .bak.tar.gz 文件)文件,然后压缩它们并创建 .tar .gz 文件。
问问题
5169 次
2 回答
0
希望这些代码有所帮助。*.bak
将匹配所有.bak
文件。
tar -czf example.tar.gz *.bak
于 2013-01-23T08:28:41.593 回答
0
你可能需要这个:
#uncomment 1 of the next 2 lines : the first DOES the cmd, the 2nd only echo it
#thecmd="tar"
thecmd="echo tar"
export thecmd
for bakfile in ./*.bak ; do
[ -f "${bakfile}" ] && ${thecmd} -czf "${bakfile}.tar.gz" "${bakfile}"
done
这还会在将文件压缩为 file.tar.gz 之前测试文件是否是常规文件(而不是目录、管道或块设备)(注意:尽量避免在变量名中使用保留字和变量名。有很多)
于 2013-01-23T12:07:51.780 回答