tarファイルのみがあり、ディレクトリはありません。

tarファイルのみがあり、ディレクトリはありません。

ファイルを見つけて、リストをtarに渡すシェルスクリプトを作成することもできますが、単一のコマンドラインでこれを実行できるtarに既に組み込まれている機能があるかどうか疑問に思います。

たとえば、スイッチが見つかりましたが、これを行うと--no-recursion次のようになります。

tar --no-recursion -cvf mydir.tar mydir

ディレクトリ(サブディレクトリを含む!)のエントリ名のみをアーカイブし、ファイルはアーカイブしません。

私も次のことを試しました。

 tar --no-recursion -cvf mydir.tar mydir/*

ただし、ファイルだけをアーカイブすると同時にアーカイブもします。名前サブディレクトリ。

ディレクトリ以外のファイルのみをtarに通知する方法はありますか?

ベストアンサー1

findwithを使用したい場合のtar最良の方法はcpionotを使用することですtarcpio標準入力からアーカイブするファイルのリストを取得することを目的としたtarアーカイブを作成できます。

find mydir -maxdepth 1 -type f -print0 | cpio -o -H ustar -0 > mydir.tar

findを使用すると、ファイルを選択してアーカイブするために必要なすべての機能を活用できるため、cpioUnixスタイルのアプローチが少なくなります。この簡単な使い方を学ぶと、試してみると直面する問題を簡単に解決できることがわかります。findcpiocpiotar

おすすめ記事