A causa é tar
removendo automaticamente o líder /
:
tar: Removendo os principais '/' dos nomes dos membros
Parece que é removido antes da execução da regex. Então, você também precisa remover o /
inicial no padrão:
tar --transform='flags=r;s|root/myFolder/B/foo|bar|' -cf archive.tar /root/myFolder/B/foo
ou use -P
switch
-P, --absolute-names
don't strip leading '/'s from file names
Como alternativa, você pode alternar para a pasta de arquivos com -C
, e não é necessário substituir o caminho:
tar --transform='flags=r;s|foo|bar|' -cf archive.tar -C /root/myFolder/B/ foo