1

特定のディレクトリのサブディレクトリをループし、「.js」ファイルを検索し、クロージャーでコンパイルするスクリプトを作成しています。私はこのコマンドでこれをやっています:

find ./js/ -type f -name "*.js" -exec java -jar compiler.jar --compilation_level SIMPLE_OPTIMIZATIONS --js '{}' --js_output_file '{}'.compiled \;

そして、古い「.js」ファイルを次のように削除します。

find ./js/ -type f -name "*.js" | xargs rm -f

しかし、「foo.js.compiled」という名前のファイルの名前を「foo.js」に変更することはできません。

助けてください。前もって感謝します。

4

3 に答える 3

1

次のようなことができます:

find . -name "*.js.compiled" -exec rename -v 's/\.compiled$//' {} +

テスト:

$ find . -name "foo*"
./fil/foo.js.compiled
$ find . -name "*.js.compiled" -exec rename -v 's/\.compiled$//' {} +
'./fil/foo.js.compiled' renamed to './fil/foo.js'
$ find . -name "foo*"
./fil/foo.js
于 2013-06-11T04:49:54.543 に答える