web-dev-qa-db-ja.com

ファイルを検索して1つのZipファイルに圧縮するにはどうすればよいですか

ファイルを検索し、次のコマンドで圧縮しようとしました

find . regexpression -exec Zip {} \;

ただし、機能していません。これどうやってするの?

30
LOGAN

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

find . -name <name> -print | Zip newZipFile.Zip -@

-@は、入力からファイルを読み取るようZipに指示します。男から Zip(1)

-@ファイルリスト。ファイルリストが-@ [MacOSにはない]、Zipは入力ファイルのリストをコマンドラインではなく標準入力から取得します。

62
iabdalkader

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

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

これは、使用しているシェルの機能です。 「バックティック」を検索して、シェルがこれを処理する方法を決定できます。

15
jheddings

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

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

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

12
Dan Jones