在 Mac 上,我正在将一个 create React 应用程序迁移到 vite,并且有很多 *.js 文件需要更改为 *.jsx。我一生中手动完成过一次,这已经足够永恒了。
我需要一个简单易懂的脚本来最好在 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" \;