2016-12-07 9 views
0

私は、ファイルを検索するには、次のコマンドを使用してそれらを圧縮し、元のファイルを削除しています:「something.txt」と呼ばれるファイルが見つかった場合は現時点でfileコマンド内のファイルの拡張子を変更

find data/* -type f -execdir zip '{}'.zip '{}' \; -delete 

を「something.txt.zip」というzipファイルが作成されます。代わりに、ファイル名を「something.zip」にするにはどうすればよいですか?

私はbashで$ {x:。*}のようなことをすることができますが、ここではこのようなことをすることはできません。

+0

なぜあなたはそれをしますか?名前をsomething.zipとすると、解凍後に何かが呼び出されます – hek2mgl

+0

@ hek2mgl私はzipファイルsomething.zipを呼び出したいだけです。内容はsomething.txtのままにしておきます。 – user1464409

+0

内容は同じですが、拡張機能がなくなります – hek2mgl

答えて

0

これは動作するようですが、それはファッジのビットです:

find data/* -execdir bash -c 'zip -j "${1%.*}.zip" "${1}"' _ {} \; 

私はきれいなものを見てみたいです。

関連する問題