ファイルを見つけて、リストをtarに渡すシェルスクリプトを作成することもできますが、単一のコマンドラインでこれを実行できるtarに既に組み込まれている機能があるかどうか疑問に思います。
たとえば、スイッチが見つかりましたが、これを行うと--no-recursion
次のようになります。
tar --no-recursion -cvf mydir.tar mydir
ディレクトリ(サブディレクトリを含む!)のエントリ名のみをアーカイブし、ファイルはアーカイブしません。
私も次のことを試しました。
tar --no-recursion -cvf mydir.tar mydir/*
ただし、ファイルだけをアーカイブすると同時にアーカイブもします。名前サブディレクトリ。
ディレクトリ以外のファイルのみをtarに通知する方法はありますか?
ベストアンサー1
find
withを使用したい場合のtar
最良の方法はcpio
notを使用することですtar
。cpio
標準入力からアーカイブするファイルのリストを取得することを目的としたtarアーカイブを作成できます。
find mydir -maxdepth 1 -type f -print0 | cpio -o -H ustar -0 > mydir.tar
find
を使用すると、ファイルを選択してアーカイブするために必要なすべての機能を活用できるため、cpio
Unixスタイルのアプローチが少なくなります。この簡単な使い方を学ぶと、試してみると直面する問題を簡単に解決できることがわかります。find
cpio
cpio
tar