1. ホーム
  2. linux

[解決済み] ファイルを検索し、tarで転送する(スペースあり)

2022-09-07 05:51:21

質問

さて、簡単な問題です。私は簡単なバックアップのコードに取り組んでいます。 それは、ファイルにスペースがある場合を除き、うまく動作します。 これは、私がファイルを見つけ、それらをtarアーカイブに追加する方法です。

find . -type f | xargs tar -czvf backup.tar.gz 

問題は、ファイル名にスペースがある場合、tarはそれがフォルダであると見なすためです。 基本的に、findからの結果の周りに引用符を追加できる方法はありますか?または、これを修正する別の方法はありますか?

どのように解決するのですか。

これを使います。

find . -type f -print0 | tar -czvf backup.tar.gz --null -T -

そうなります。

  • スペース、改行、先頭のダッシュ、およびその他の面白さを持つファイルを処理します。
  • 無制限の数のファイルを扱える
  • のように backup.tar.gz の上書きを繰り返さない。 tar -cxargs は、ファイル数が多い場合に有効です。

も参照してください。