how to rename files you put into a tar archive using linux 'tar'

前端 未结 4 1119
梦谈多话
梦谈多话 2021-01-03 21:32

I\'m trying to create a tar archive with a couple files, but rename those files in the archive. Right now I have something like this:

tar -czvf file1 /some/p         


        
4条回答
  •  -上瘾入骨i
    2021-01-03 21:57

    You can modify filenames (among other things) with --transform. For example, to create a tape archive /tmp/foo.tar, putting files /etc/profile and /etc/bash.bashrc into it while also renaming profile to foo, you can do the following:

    tar --transform='flags=r;s|bar|foo|' -cf file.tar file1 file2 bar fubar /dir/*
    

    Results of the above is that bar is added to file.tar as foo.

    The r flag means transformations are applied to regular files only. For more information see GNU tar documentation.

    You can use --transform multiple times, for example:

    tar --transform='flags=r;s|foo|bar|' --transform='flags=r;s|baz|woz|' -cf file.tar /some/dir/where/foo/is /some/dir/where/baz/is /other/stuff/* /dir/too
    

提交回复
热议问题