ファイルをパッケージ化しようとしています。
file1
folder2/hello
folder2/world
file3
カスタムフォルダにカプセル化されるようにtarファイルに保存すると、次のようtar -tvf archive.tar
になります。
mycustomfolder/file1
mycustomfolder/folder2/hello
mycustomfolder/folder2/world
mycustomfolder/file3
現在、この問題を解決するために、私は:
file1
作成しfolder2
てアーカイブ(x)しますfile3
。- フォルダを作成します
mycustomfolder
。 - アーカイブ(x)を次に抽出します。
mycustomfolder
- プロフィールを作成(y)
mycustomfolder
私は彼らがこの仕事に向かって1つのステップまたはより良い方法になるとは思わないかもしれません。
ベストアンサー1
アーカイブを自分のディレクトリに抽出するには(通常はこれを実行しないディレクトリは混乱する可能性があるため)、ディレクトリを作成してコンテンツツリーをそのディレクトリに移動/コピーします。 、2番目の例に示すように:
mycustomfolder/file1
mycustomfolder/folder2/hello
mycustomfolder/folder2/world
mycustomfolder/file3
次にtar -cvf myarchive.tar mycustomfolder
。抜粋、tar -xvf myarchive.tar
。
まず、ディレクトリを作成したくない場合は、ファイル名を変換し、ディレクトリプレフィックスを追加できます。
tar --xform="s%^%mycustomfolder/%" -cvf myarchive.tar file1 folder2 file3
構文を使用して変換(参照man tar
) 。名前付きフォルダが作成されましたが(==奇妙なアクションIMO)(正確には)「無効な変換式」だったので、区切り文字を代わりにsed
使用しました。%
/
s/^/mycustomerfolder\//
mycustomfolder\
s/^/mycustomfolder//