一般的なLinuxコマンドラインツールを使用してJavaScriptファイルからすべてのコメントを削除する方法は? [閉鎖]

一般的なLinuxコマンドラインツールを使用してJavaScriptファイルからすべてのコメントを削除する方法は? [閉鎖]

必要なコメントを含むJavaScriptファイルがあります。 JavascriptはCスタイルのコメントを使用します。

//this is a single line comment

そして

/* this is
a multi-line
comment */

ただし、実際のコードは次のようになります。

/* blah blah
// [NOTE] blah blah
// blah
// blah blah blah
// blah
// blah blah
function("string", false);
// 1: blah blah blah blah blah blah
// [1] https://example.com
function("string", true);
/* blah blah
* blah blah //* /
function("string", false);
// * * * /
// 18: blah blah blah blah blah blah
// [-] (part1) https://example.org/43
function("string", 0);
// * * * /
// 20: blah blah blah blah blah blah
// [NOTE] blah blah blah blah blah blah blah blah blah blah blah blah
// [-] https://example.org/62015
function("some_string", "string"); // (comment)
// 0301: blah blah blah blah blah blah
// [-] https://example.org/205
// function("string", false);
// 040: blah blah blah blah blah blah
// What is this?
// [-] https://example.org/58917
function("string", true);
// 050: blah blah blah blah blah blah
// [-] https://example.org/57226
function("string", false);
// 103: blah blah blah blah blah blah
// [-] https://example.org/53751
// function("string", false);
// 203: blah blah blah blah blah blah
// [WARNING] This may break
// [-] https://example.org/70082
function("string", false);
// 27: blah blah blah blah blah blah
// [-] https://example.org/57170
// function("string", 90); // default: 90
// 55: blah blah blah blah blah blah
// [-] https://example.org/73595
// function("string", true);
// * * * /
// ***/
function("string", 99); //comment comment

私が見つけた答え(このような)はより簡単なケースを扱います。

シェルスクリプト - ファイル内のすべてのコメントを削除する方法は? - UnixとLinuxスタックの交換ファイルからすべてのコメントを削除する方法は?

私が経験している最大の問題は、私のさまざまな正規表現があまりにも貪欲であるということです。たとえば、/*最初から最後まですべてを選択します*/。私はPerlに慣れていないので、Perlを試してみませんでした。残念ながら、私が試したツールは、私が試したかった正規表現の構文をすべてサポートしていませんでした。この作業にどのような単純なツールが最も適しているのかわかりません。

ベストアンサー1

cpp -undef -P your_file.jsこれを達成するためにまたはを使用しますcc -undef -E -P -xc your_file.js

cppツールがcc十分に「一般的」でないと思うなら、幸運ではないでしょう。本当にそうしなければなりません。

おすすめ記事