当文件不存在时tar太慢了!

我在文本文件上有一个巨大的文件列表。 这个列表传递给tar,像这样:

cat list.txt | xargs tar rvf archive.tar –ignore-failed-read

问题是,列表中的一些文件不再存在。 所以tar继续说“不能统计:没有这样的文件或目录…”。 我没有问题,但是当这些消息中的一些出现时,等待几分钟以恢复操作,使得备份非常缓慢。 任何想法如何我只能过滤现有的文件焦油?

问候

列表有多大,有多less文件已经消失? 你能过滤丢失的文件吗?

% cat list.txt foo/bar foo/baz foo/fred foo/wilma betty % for file in `cat list.txt`; do [ -f $file ] && echo $file; done | xargs tar rvf archive.tar foo/bar foo/fred betty % tar tvf archive.tar -rw-r--r-- scott/scott 0 2011-07-05 10:25 foo/bar -rw-r--r-- scott/scott 0 2011-07-05 10:25 foo/fred -rw-r--r-- scott/scott 0 2011-07-05 10:25 betty % 

我不知道这是否是最好的方法,但是我发现使用参数-T ,焦油会更快乐。 tar rvf archive.tar --ignore-failed-read -T filelist.txt