如何在bash中压缩目录的文件,不包括绝对路径?

时间:2013-10-03 11:19:43

标签: linux bash ubuntu zip

我有一个包含以下XML的文件夹:
/student/class1/roll1.xml
/student/class1/roll2.xml


/student/class1/roll90.xml

我必须在/ student中创建 class1.zip 。我试过了

zip -r /student/class1.zip /student/class1/

但它会产生一个包含结构的压缩文件:
学生/ 1类/ roll1.xml
学生/ 1类/ roll2.xml


student / class1 / roll90.xml

我希望它(class1.zip)以不包含路径的方式创建,它应该只包含XML文件,如:
的Class1 / roll1.xml
的Class1 / roll2.xml


class1 / roll90.xml

一种解决方案是将此脚本(zip -r /student/class1.zip /student/class1/)放在/ student文件夹中。

有人可以提出别的建议吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

在您的脚本中,您应该可以执行以下操作:

cd /student
zip -r class1.zip class1/

如果您可以在/student下执行其中的多项操作,则可以:

cd /student
for class in class* ; do
    zip -r $class.zip $class
done