I have the following directory structure:
test/ test/1/ test/foo2bar/ test/3/
I want to compress directory "test" excluding everything which is in subdirectories (depth not predefined), which include strings "1" or "2" in them. In bash shell, i want to use find and feed its output to tar. I first test find:
find test/ -not -path "*1*" -not -path "*2*"
Great. So i combine it with tar:
find test/ -not -path "*1*" -not -path "*2*" | tar -czvf test.tar.gz --files-from -
test/ test/3/ test/1/ test/foo2bar/ test/3/
Indeed, both "test/1" and "test/foo2bar" are present in the archive. Why were these arguments passed to tar, if they were not supposed to be present in find output?