26.07.2017 17:59, Dominique Martinet пишет:
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
Why wouldn't tar do its sanity checks and
leading slash removal after the transform,
not before? I wanted to do the transform
exactly to get rid of the leading slash and
the entire path.