A resposta do unixUser me colocou no caminho certo. Acontece que tar
pode fazer a leitura de nomes de arquivos e diretórios de um arquivo de texto com -T
e pode até mesmo alterar o diretório com -C
:
tar cvf - -T filelist.txt | tar xvf - -C newdir
Isso responde a pergunta que eu tinha.
fontes
Para obter essas informações da ideia que unixUser me forneceu , eu abaixado para arquivos tar do arquivo de texto , levando a trpn 's (Q) e Tinkster < A (a) conversão em linuxquestions.org . Ao mesmo tempo, verifique a página de manual do alcatrão para qualquer opção que tenha algo a ver com arquivo , ambas as pesquisas levou para a opção -T
! Para evitar confiar no shell para mudar de diretório, eu também pesquisou para qualquer opção relacionada diretório e encontrou a opção -C
. - Eu vejo que tar
é provavelmente o comando para agrupar (cópias de) arquivos de várias maneiras.
Com isso, pode-se usar algum binário de alcatrão sem * depender de scripts. É incrível como é útil o alcatrão.
(*: fora da preferência : eu encontro o bash / perl / python / qualquer que seja uma ferramenta muito geral para esta tarefa bastante exata . No entanto, como apontou por grawity , os tubos são convenientes - sem eles , um deve ser forçado a criar um arquivo intermediário, por exemplo, tar cvf intermediate.tar -T filelist.txt
e tar xvf intermediate.tar -C newdir
.)