I have to compress multiple files to one tar-File. As I have to repeat this for many files in many different folders I wrote a shell script and started it from a parent directory. The shell script contains multiple lines like the following:
tar -cf a/b/c/tarfile.tar a/b/c/*
This creates a tar-file in the specified folder but inside the tar-File the folder structure of a/b/c/ is still existent.
What I want is that all files in c/ are placed in tarfile.tar WITHOUT the folder structure a/b/c/. Is this possible?
tar -cf a/b/c/tarfile.tar -C a/b/c .will switch to the directorya/b/cand read in the entire directory (the.– you could specify specific files as well, but a wildcard will not do what you’re expecting). The-C <directory> <filelist>pattern can be repeated as necessary to process additional files from different locations.Another possibility given your original example would be
cd a/b/c; tar cf ../../../tarfile.tar *, but that doesn’t give you the possibility to pull multiple files from different locations (of course you could still use-C, but the relative paths would have to be adjusted accordingly.