GNU/Linux >> Linux の 問題 >  >> Linux

ファイルを検索して 1 つの zip ファイルに圧縮する方法

使用するコマンドは、各ファイルに対して個別に zip を実行します。これを試してください:

find . -name <name> -print | zip newZipFile.zip [email protected]

[email protected] 入力からファイルを読み取るようにzipに指示します。 man zip(1) から

<ブロック引用>

[email protected] ファイル リスト。 [email protected]でファイルリストを指定した場合 [MacOS 以外]、zip は、コマンド ラインからではなく、標準入力から入力ファイルのリストを取得します。


あなたの回答は近いですが、こちらの方がうまくいくかもしれません:

find -regex 'regex' -exec zip filname.zip {} +

これにより、一致するすべてのファイルが filename.zip という 1 つの zip ファイルにまとめられます。結果をパイプした場合に必要となる、ファイル名の特殊文字 (改行など) について心配する必要はありません。


find コマンドの結果として名前を指定することもできます:

zip name.zip `find . -name <name> -print`

これは、使用しているシェルの機能です。 「バッククォート」を検索して、シェルがこれをどのように処理するかを判断できます。


Linux
  1. Linuxで.gzファイルと.tar.gzファイルを抽出する方法

  2. サイズと拡張子でファイルを検索する方法は?

  3. ディレクトリでファイルを検索し、結果をテキストファイルに出力しますか?

  1. Linux でのファイルの変更とファイルの実行を監査する方法

  2. 名前と部分パスでファイルを検索するにはどうすればよいですか?

  3. Linuxでwar、ear、およびjarファイル内のファイルを再帰的に検索する方法

  1. Linuxでファイルとディレクトリをアーカイブする方法[パート2]

  2. ファイルでコンテンツを検索する方法

  3. 2 つの文字を含み、そのうちの 1 つが c であるファイル名を表示するにはどうすればよいですか?