i.e. //*(): etc
削除するフォルダ内の複数のファイルには、次のように特殊文字()を含む複数行のテキストが含まれています。を使用して他のsed
すべてのソリューションを試してみましたが、awk
誰も好きではないようです//
。
// Some text with (something else) and a clack 6*5.
// Rest on the next line with some more
// etc. http://website.com/helloworld.php
// and just another line.
私にとって必要なのは、フォルダ内のすべてのファイルからこのテキストを検索して削除することだけですdata
。
答え1
//
以下を使用してシーケンスを処理する方法はいくつかあります。sed
バックスラッシュは各
/
インスタンスをエスケープします。sed '/^\/\//d' file
キャラクター
/
リストに入れてみてください[...]
sed '/^[/]\{2\}/d' file
または(GNU sedを使用)
sed -r /^[/]{2}/d' file
//
シーケンスが文字通り処理されるように、正規表現区切り文字を別の文字に変更します。sed '\%^//%d' file
答え2
3つの方法を紹介します。
GCCの使用
gcc
C / C ++ファイルからコメントを削除するためのプリプロセッサとして使用できます。はい
$ cat test.c #define foo bar foo foo foo #ifdef foo #undef foo #define foo baz #endif foo foo // Some text with (something else) and a clack 6*5. // Rest on the next line with some more // etc. http://website.com/helloworld.php // and just another line.
コメントを削除するには:
$ gcc -fpreprocessed -dD -E test.c # 1 "test.c" #define foo bar foo foo foo #ifdef foo #undef foo #define foo baz #endif foo foo
find . -iname "*.c"
すべてのファイルを検索し、上記のファイルを実行するために使用するように調整できます.c
。これは1つの方法になります。使用
stripcmt
というツールがあります。バンド(つまり、コメントを削除)必要に応じて何でもできます。
パールを使う
このPerl CPANモジュールを使用して、カスタムスクリプトを介してコメントを削除することもできます。 CPAN モジュールは次のように呼び出されます。正規表現::一般::コメント。 CPANページにこれを行う方法の例があります。
答え3
以下も使用できますgrep
。
grep -v // file
印刷された-v
行が指定されたパターンと一致しません。
またはperl
:
perl -ne 'print unless m#^//#;' file
または
perl -ne 'next if m#^//#; print' file