Hi,

Stas Sergeev wrote on Wed, Jul 26, 2017 at 05:22:56PM +0300:
> I am doing the following:
> 
> $ tar cf a.tar a.txt
> $ tar rf a.tar --add-file=`pwd`/b.txt --transform=s,`pwd`/,aaa/,
> tar: Removing leading `/' from member names
> 
> The transform is completely ignored, and
> tar complains to leading slash.
> But the following case works fine:
> 
> $ tar cf a.tar a.txt
> $ tar rf a.tar --add-file=b.txt --transform=s,^,aaa/,
> 
> Am I doing something wrong, or is it a bug?

The problem is as tar says, due to the leading /.

Say you're in /tmp, the added file will be tmp/b.txt but you are
matching /tmp/b.txt

This will work, even if it's not pretty (replace the first / of `pwd` by
a ^ anchor):
$ tar rf a.tar --add-file=$(pwd)/b.txt --transform=s,$(pwd | sed -e 
's:^/:^:')/,aaa/,

-- 
Dominique Martinet

Reply via email to