durante a descompactação com tar oculta a mensagem de erro: 'tar: Removendo o início' / 'dos nomes dos membros' para o arquivo criado com --absolute-names

1

Não é duplicado, outras perguntas no stackexchange, trata-se de livrar-se desta mensagem à medida que o arquivo é criado.

É possível, dado o arquivo que foi criado com a opção -P (com o principal '/')?

Eu tenho um arquivo criado com " --absolute-names " ( -P option) - com o principal /.

Eu quero descompactá-lo, com / stripped (o tar está fazendo isso por padrão).

É quase ideal, mas eu quero silenciar:

tar: Removing leading '/' from member names.

sem remover outras mensagens (a força bruta na forma de 2>/dev/null não é uma solução).

Eu encontrei várias soluções para silenciar essa mensagem durante a criação do arquivo, mas nenhuma para descompactar. Eu sei sobre grep -v mas ele irá (a) ocultar o código de erro do tar (b) adicionar seu próprio código de erro se a mensagem sobre / não for removida.

Esta situação pode ser replicada com

cd /home/user/tmp
touch a.txt
mateusz@Grisznak:~/Desktop/tmp$ tar --create -P /home/user/tmp > a.tar
mateusz@Grisznak:~/Desktop/tmp$ tar --extract --file=a.tar 

Para evitar o problema XY: Estou descompactando arquivos criados por backup gem ( link ).

    
por Mateusz Konieczny 26.03.2017 / 16:01

1 resposta

1

Isso parece fazer o que você quer:

tar --extract --xform 's/^\///' --file=a.tar

Por página do manual:

--transform, --xform EXPRESSION
      use sed replace EXPRESSION to transform file names

Por isso, ainda retira a barra principal, mas não fala sobre isso.

    
por 26.03.2017 / 16:37