ベストアンサー1
GNUtar(Linuxで一般的)がある場合は、この--transform
オプションを使用できます。
たとえば、現在のコマンドを使用すると、次のディレクトリがあることを確認できます。
$ find . -name '*.c' | xargs tar -rf allcfiles.tar
$ tar tf allcfiles.tar
./b.c
./d/e.c
./a.c
以下を変換することでこれを防ぐことができます。
$ find . -name '*.c' | xargs tar --transform='s!.*/!!' -rf allcfiles.tar
$ tar tf allcfiles.tar
b.c
e.c
a.c
中の表現は--transform
簡単なsed
表現です。これはすべてのディレクトリコンポーネントを削除するだけです。