【发布时间】:2016-05-23 18:42:17
【问题描述】:
我在 Linux 中使用 tar 执行一项棘手的任务。你能帮帮我吗?
下面是我的目录结构。名为 Harry 的目录包含下面提到的文本文件和目录。
Harry/
-> file1.txt
-> file2.txt
-> file3.txt
-> chocobar/
-> restobar/
-> bluebar/
-> direct1/
我在这里的主要任务是编写一个脚本,将 Harry 的所有文件和目录 tar 到一个名为“smallHarry.tar.gz”的包中。但是,脚本的一个参数包含上述任何“bar”目录。应创建排除所有其他 'bar' 目录 tar。
例如:如果我给出“./myscript restobar”,tar 应该包含所有文件,然后只包含“restobar/”和“direct1/”目录。必须排除所有其他带有“bar”字符串(“chocobar”和“bluebar”)的目录。
我知道我可以做到“tar -zcvf Harry/ * -exclude 'chocobar' -exclude 'bluebar'”。但我想要一个通用脚本。因为带有字符串'bar'的目录将来会增加,我不想每次获得带有字符串'bar'的新目录时都更新脚本。
【问题讨论】: