开发者

tar exclude file pattern

开发者 https://www.devze.com 2023-04-06 06:39 出处:网络
I am trying to create a tar with follwing command: tar -cv开发者_运维问答f myFile.tar -X exclude-files.txt myContentDirectory

I am trying to create a tar with follwing command:

tar -cv开发者_运维问答f myFile.tar -X exclude-files.txt myContentDirectory

and my exclude-file has follwing patterns to exclude:

**/*.bak
**/*.db
**/*.html

But i dont see these file types being excluded out in my tar. What am I doing wrong here?

I found that when i have just one pattern in my exclude-files.txt, lets say only

**/*.bak

it does work. But not with multiple file patterns (EACH ON NEW LINE)


I think this:

*.bak
*.db
*.html

is the correct format for the exclude file if you want to exclude a particular directory you could do:

some-dir/*.db

Also your command should look like this:

tar -cvf myFile.tar -X exclude-files.txt myContentDirectory 


Sorry if this answer is a little late.

tar -cO --exclude=*.bak myContentDirectory | tar -O --delete '*.db' | tar -O --delete '*.html' > myFile.tar

See, what you're doing here is creating the tar, but sending it to stdout instead of to a file then piping that into tar to delete the stuff you don't want, one or more times and finally writing the output to a file.

You can even test it first like this:

tar -cO --exclude=*.bak myContentDirectory | tar -O --delete '*.db' | tar -O --delete '*.html' | tar -tv

Which will spit out a list of all the files remaining in the archive.


Most likely the order of the command is incorrect.

tar -cvf myFile.tar -X exclude-files.txt myContentDirectory

should be something like

tar cv -X exclude-files.txt -f myFile.tar myContentDirectory

PS. I haven't looked into the filters itself. Most likely order of the parameters is the issue. If issues is in the filters/patterns - it's easier to test one by one with --exclude option.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号