cpio
tem uma opção -E
( --pattern-file
), que permite ler a lista de nomes de arquivos de um arquivo, em vez de (ou bem) fornecer os nomes de arquivos na linha de comando. Por exemplo:
cpio -icuBdmv -E files-to-extract < preserved.cpio
cpio
também tem -F
para especificar um nome de arquivo (em vez de usar stdin / stdout). -I
e -O
são semelhantes, mas funcionam em vez de stdin ou stdout, respectivamente.
por exemplo. você pode especificar o arquivo com -F
e fornecer a lista de arquivos em stdin:
cpio -icuBdmv -F preserved.cpio < files-to-extract
ou use os dois -E
e -F
cpio -icuBdmv -E files-to-extract -F preserved.cpio
BTW, com muitos programas GNU (incluindo cpio
, as man pages são quase inúteis, mas estão bem documentadas em arquivos .info. Em algumas distribuições Linux, os docs de informações são frequentemente pacotes separados (por exemplo, no debian, cpio-doc
), então você precisará instalá-los, assim como um leitor de informações (como o GNU info
ou pinfo
)
de qualquer forma, aqui estão alguns extratos relevantes das páginas cpio
info:
-E FILE
,--pattern-file=FILE
Read additional patterns specifying filenames to extract or list from FILE. The lines of FILE are treated as if they had been non-option arguments to cpio. This option is used in copy-in mode,
e
-F ARCHIVE
,--file=ARCHIVE
Archive filename to use instead of standard input or output. To use a tape drive on another machine as the archive, use a filename that starts with
HOSTNAME:
, where HOSTNAME is the name or IP address of the machine. The hostname can be preceded by a username and an@
to access the remote tape drive as that user, if you have permission to do so (typically an entry in that user's~/.rhosts
file).