BASHはjsファイルの名前をjsxに再帰的に変更します。

BASHはjsファイルの名前をjsxに再帰的に変更します。

Macでは、Create Reactアプリを移行して*.jsxに変更する必要がある*.jsファイルがたくさんあります。私は私の人生で一度手動で行ったことがあり、それは永遠です。

何もインストールせずにMacインストールでこれを最大限に行うには、シンプルでわかりやすいスクリプトが必要です。

私は多くの既存の例を見つけましたが、私が試したことのどれも完全には機能しません。

編集する- -

ボーナスポイントの場合、これは以下を含むファイルでのみ発生します。import Reactこれにより、リファクタリングが速くなり、手動の確認が少なくなるためです。

答え1

この試み。

$ find . -name '*.js' -exec echo mv {} {}x \;
mv ./a/a.js ./a/a.jsx
mv ./a/z/z.js ./a/z/z.jsx
mv ./b/b.js ./b/b.jsx
$

提案されたコマンドの外観が満足のいくものであれば、そのechoセクションを削除してみてください。

.jsというディレクトリがある場合、このディレクトリは機能しないため、追加する-type f必要があります。

ボーナスポイント

後続の編集に従って「import React」行を含むファイルにのみ名前変更を制限するには、@Robert Smithが提案し、ソリューションを使用します。

find . -iname "*.js" -exec grep -q 'import React' {} \; -exec mv "{}" "{}x" \; 

関連情報