I have a file that contain list of files I want to archive with tar.
Let's call it mylist.txt
It contains:
file1.txt
file2.txt
...
file10.txtIs there a way I can issue TAR command that takes mylist.txt as input?
Something like
tar -cvf allfiles.tar -[someoption?] mylist.txtSo that it is similar as if I issue this command:
tar -cvf allfiles.tar file1.txt file2.txt file10.txt 2 6 Answers
Yes:
tar -cvf allfiles.tar -T mylist.txt 5 Assuming GNU tar (as this is Linux), the -T or --files-from option is what you want.
You can also pipe in the file names which might be useful:
find /path/to/files -name \*.txt | tar -cvf allfiles.tar -T - 5 Some versions of tar, for example, the default versions on HP-UX (I tested 11.11 and 11.31), do not include a command line option to specify a file list, so a decent work-around is to do this:
tar cvf allfiles.tar $(cat mylist.txt) 4 On Solaris, you can use the option -I to read the filenames that you would normally state on the command line from a file. In contrast to the command line, this can create tar archives with hundreds of thousands of files (just did that).
So the example would read
tar -cvf allfiles.tar -I mylist.txt For me on AIX, it worked as follows:
tar -L List.txt -cvf BKP.tar 2