我是shell脚本的新手。我有一个要求,找出或列出.bak(它只是.bak,不应该在列出时选择其他.bak.tar.gz文件)然后压缩它们创建.tar.gz文件。
答案 0 :(得分:0)
希望这些代码有所帮助。 *.bak
将匹配所有.bak
个文件。
tar -czf example.tar.gz *.bak
答案 1 :(得分: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之前,这还会测试文件是REGULAR文件(而不是dir,管道或块设备)(注意:尽量避免使用保留字和变量名)变量名。有很多)