Saya memiliki file yang berisi daftar file yang ingin saya arsipkan dengan tar. Sebut sajamylist.txt
Itu mengandung:
file1.txt
file2.txt
...
file10.txt
Apakah ada cara saya bisa mengeluarkan perintah TAR yang diambil mylist.txt
sebagai input? Sesuatu seperti
tar -cvf allfiles.tar -[someoption?] mylist.txt
Sehingga mirip seperti jika saya mengeluarkan perintah ini:
tar -cvf allfiles.tar file1.txt file2.txt file10.txt
-X
Opsi mengecualikan bertahan dari perintah tar Unix lama, tetapi tampaknya -I (termasuk) tidak!man
halaman denganEXAMPLES
bagian, meskipun itu bagian standar . Lihat < unix.stackexchange.com/questions/306189/… >.Jawaban:
Iya:
sumber
-L mylist.txt
pada AIXDengan asumsi tar GNU (karena ini Linux), opsi
-T
atau--files-from
adalah yang Anda inginkan.sumber
Anda juga dapat mem-pipe nama file yang mungkin berguna:
sumber
Beberapa versi tar, misalnya, versi default pada HP-UX (saya menguji 11.11 dan 11.31), tidak menyertakan opsi baris perintah untuk menentukan daftar file, jadi penyelesaian yang layak adalah dengan melakukan ini:
sumber
cat
), sederhananya$(<mylist.txt)
.mylist.txt
besartar -T <(<mylist.txt)
. redundan seperti jawaban ini.Pada Solaris, Anda dapat menggunakan opsi -I untuk membaca nama file yang biasanya Anda nyatakan pada baris perintah dari file. Berbeda dengan baris perintah, ini dapat membuat arsip tar dengan ratusan ribu file (baru saja melakukannya).
Jadi contohnya akan dibaca
sumber
Bagi saya di AIX, itu berfungsi sebagai berikut:
sumber