「bash find」のファイルを7zアーカイブに追加

「bash find」のファイルを7zアーカイブに追加

これを聞く前にすごく検索してみましたが! (それでも誰か重複を指摘してほしいです。)

だから私は次のような多くのファイルを収集しました。

find . -name "2020-*" 

...これらのすべてのファイルを.7zアーカイブに「パイプ」する方法はありますか? (ちなみに私が望む作業は実際にはファイルコピー操作なので、「パイプライン」は正しい言葉ではないかもしれません。)

私は同様のことを試しました:

find . -name "2020-*" | 7z a -p pumple.7z

...これは、コンソール入力を期待するように、次の行">"を提供します。

次も同様です。

 find . -name "2020-* > 7z a -p pumple.7z

答え1

ファイル名をパラメータとして指定する必要があります7z

find . -name '2020-*' -exec 7z a -p pumple.7z {} +

これはfind、一致する名前を持つ(すべての種類の)ファイルを見つけるように指示し、2020-*そのようなファイルが見つかったら7z a -p pumple.7zファイル名の後に実行します。は{}ファイル名のプレースホルダーで、一度にできるだけ多くのファイル名を使用してコマンドを実行するように指示+します。find

関連情報