У меня есть файл, содержащий список файлов, которые я хочу архивировать с помощью tar. Давайте назовем этоmylist.txt
Это содержит:
file1.txt
file2.txt
...
file10.txt
Есть ли способ, которым я могу выполнить команду TAR, которая принимает в mylist.txt
качестве ввода? Что-то вроде
tar -cvf allfiles.tar -[someoption?] mylist.txt
Так что это похоже на то, как если бы я выполнил эту команду:
tar -cvf allfiles.tar file1.txt file2.txt file10.txt
-X
exclude сохраняется после старой команды tar Unix, но, очевидно, -I (include) этого не сделал!man
страниц сEXAMPLES
разделом, несмотря на то, что это стандартный раздел . См. < Unix.stackexchange.com/questions/306189/… >.Ответы:
Да:
источник
-L mylist.txt
на AIXПредполагая GNU tar (так как это Linux), вам нужна опция
-T
or--files-from
.источник
Вы также можете указать имена файлов, которые могут быть полезны:
источник
Некоторые версии tar, например, версии по умолчанию в HP-UX (я тестировал 11.11 и 11.31), не включают параметр командной строки для указания списка файлов, поэтому неплохой способ это сделать:
источник
cat
), просто$(<mylist.txt)
.mylist.txt
она великаtar -T <(<mylist.txt)
. лишний, как этот ответ.В Solaris вы можете использовать опцию -I для чтения из файла имен файлов, которые вы обычно указали бы в командной строке. В отличие от командной строки, это может создавать tar-архивы с сотнями тысяч файлов (только что сделал).
Таким образом, пример будет читать
источник
Для меня в AIX это работало следующим образом:
источник