Tengo un archivo que contiene una lista de archivos que quiero archivar con tar. Vamos a llamarlomylist.txt
Contiene:
file1.txt
file2.txt
...
file10.txt
¿Hay alguna manera de emitir el comando TAR que se toma mylist.txtcomo entrada? Algo como
tar -cvf allfiles.tar -[someoption?] mylist.txt
Para que sea similar a como si emitiera este comando:
tar -cvf allfiles.tar file1.txt file2.txt file10.txt

-Xopción de exclusión sobrevive del antiguo comando tar de Unix, pero aparentemente -I (incluir) ¡no lo hice!manpáginas con unaEXAMPLESsección, a pesar de ser una sección estándar . Consulte < unix.stackexchange.com/questions/306189/… >.Respuestas:
Si:
fuente
-L mylist.txten AIXSuponiendo GNU tar (ya que esto es Linux), la opción
-Tu--files-fromes lo que desea.fuente
También puede canalizar los nombres de archivo que pueden ser útiles:
fuente
Algunas versiones de tar, por ejemplo, las versiones predeterminadas en HP-UX (probé 11.11 y 11.31), no incluyen una opción de línea de comando para especificar una lista de archivos, por lo que una solución decente es hacer esto:
fuente
cat), simplemente$(<mylist.txt).mylist.txtes grandetar -T <(<mylist.txt). redundante como esta respuesta.En Solaris, puede usar la opción -I para leer los nombres de archivo que normalmente indicaría en la línea de comando desde un archivo. A diferencia de la línea de comando, esto puede crear archivos tar con cientos de miles de archivos (solo eso).
Entonces el ejemplo leería
fuente
Para mí en AIX, funcionó de la siguiente manera:
fuente