我有以下我想做的事情:
find . -maxdepth 6 ( -name *.tar.gz -o -name bediskmodel -o -name src -o -name ciao -o -name heasoft -o -name firefly -o -name starlink -o -name Chandra ) -prune -o -print| tar cvf somefile.tar --files-from=-
即排除很多东西,只看6个深度的子目录,然后一旦修剪完毕,将其余部分用完.
不难.管道(|)之前的位工作100%.如果我排除了焦油,那么我就会得到我所追求的(到屏幕上).但是,一旦我包含了管道和焦油,它就会包含所有东西,包括我刚刚在查找中排除的所有东西.
我尝试了许多不同的迭代:
-print0 | xargs -0 tar rvf somefile.tar
-print0 | xargs -0 tar rvf somefile.tar --null --files-from = -
-print0 | tar cvf somefile.tar --null -T -
那么我做错了什么?我以前做过这个; 但现在它只是给了我白发.