新しく作成されたファイルをtarfileの特定の場所に移動する方法

新しく作成されたファイルをtarfileの特定の場所に移動する方法

Cファイルを作成しました。

 (
cat <<'End'
ifdef
 ...
 else
 ...
 endif
EOF) > $CFILE

新しく作成されたcファイルを生成されたTarファイル内の特定の場所に移動したいと思います。

tar -rvf $TARFILE "magically move CFILE to /foo/bar in tar file"

ベストアンサー1

GNUの場合は、-styleをtar使用し--transformて指定してsed置き換えます。

$ tar -rvf test.tar --transform 's#^#/here/it/is/#' .profile
.profile

$ tar tf test.tar
tar: Removing leading `/' from member names
/here/it/is/.profile

BSDの場合は、同様の(しかし同じではない)方法で使用しますtar-s

$ tar -rvf test.tar -s '#^#/here/it/is/#' .profile
/here/it/is/.profile

$ tar tf test.tar
tar: Removing leading / from absolute path names in the archive
here/it/is/.profile

おすすめ記事