Tar和–newer / – 以后的参数

我的项目结构如下:

-sprint41 -file1 -file2 -sprint40 -file1 -file2 
  • 我在sprint41文件夹中的所有文件(+ sprint41)的修改date为20130807
  • 我在sprint40文件夹中的所有文件(+ sprint40)的修改date为20130610

我想在20130715之后创build一个包含所有文件(+文件夹)的存档。我的命令如下:

 tar -cf test.tar --after-date 20130715 * 

在这个命令之后,test.tar包含以下内容:

 -sprint41 -file1 -file2 -sprint40 

即使修改date在20130715之前,它仍保留sprint40文件夹

我期待有以下几点:

 -sprint41 -file1 -file2 

你有线索吗?

非常感谢

Solutions Collecting From Web of "Tar和–newer / – 以后的参数"

是的,问题是即使它们是空的,tar仍然会包含目录。 这只是真正检查文件,而不是目录的更新选项。 必须写一个小脚本或使用-cnewer查找并将输出传输到tar(在tar命令中使用–no-recursion)。

使用所需的时间戳创建一个文件

  touch -t 201307150000 timefile.txt 

然后像这样:

 find . -cnewer timefile.txt -print0 | xargs -0 tar --no-recursion -cf test.tar