コマンド
バックアップを作成し、console系関数が記述された行を削除
find . -name "*.js" -type f -exec perl -ni.rbak -e 'print if !/console.*/' {} \;
バックアップファイルを削除
find . -name "*.rbak" -type f -exec rm -f {} \;
注意
このままターミナルに入力すると、現在の階層以下に存在する全てのJavaScriptファイルに対して"console."の記述がある行が削除されます。特定のファイルにのみ適用したい場合は、-nameオプションに正しくファイル名を指定して下さい。
また、仕組みは単純なコマンドですが、暇つぶしで作ったものなので、正しく動作しない恐れもあります。必ず差分を確認しながら実行するようにして下さい。
最後に、Perlという言語の正規表現を使っております。大抵のPCには最初からインストールされていると思いますが、もしない場合はこちらをインストールしてから実行して下さい。
開発経緯
JavaScriptのデバッグ方法は凄まじく種類がありますが、VSCode等でユーザースニペットを充実させていけば、一番使いやすいのはconsole系の関数だと思うのです。ブレークポイントは仕込むと毎回処理が止まる上に値がとても見づらいので、ちょっと使いづらいというのが個人的な意見です。
しかしconsole系関数のデメリットは、色んな場所に差し込みまくると、後で消すのが面倒なことにあります…。そして意外にも、こういうconsole系関数を一括で削除する方法がなかなか見つかりませんでした。そこで今回は、JavaScriptファイルに対して拡張子"rbak"のバックアップファイルを作成した後、"console."の記述がある行を一括で削除するコマンドを作ってみました。
参考資料は以下の通りになります。Linuxコマンドは基本的なものしか使っておらず、Perlに関しては興味がある人は少ないと思うので、ここでの説明は割愛します。