![一般的なLinuxコマンドラインツールを使用してJavaScriptファイルからすべてのコメントを削除する方法は? [閉鎖]](https://linux33.com/image/143208/%E4%B8%80%E8%88%AC%E7%9A%84%E3%81%AALinux%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%84%E3%83%BC%E3%83%AB%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6JavaScript%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8B%E3%82%89%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
必要なコメントを含む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
十分に「一般的」でないと思うなら、幸運ではないでしょう。本当にそうしなければなりません。