Which tar
?
GNU Tar accepts a --transform
argument, to which you give a sed
expression to manipulate filenames.
For example, to rename during unpacking:
tar -zxf my-dir.tar.gz --transform s/my-dir/your-dir/
BSD tar and S tar similarly have an -s
argument, taking a simple /old/new/
(not a general sed
expression).