-1

私はすでに長い間これに悩まされています: テキスト ファイル内の文字列を照合し、その周りの C コメントを削除する必要があります。編集はインプレースまたは新しいファイルに行う必要があります (その後、mv-command を移動してプッシュします)。

/*
    might be text here;
    STRING_TO_MATCH
    some text;
    more text

    maybe brackets ( might be text and numbers 123);
*/

文字列は簡単に見つかりますが、コメントを削除するにはどうすればよいですか? 行数は常に同じではありません。削除は貪欲ではない必要があり(同じファイルに変更してはならない類似のデータがあります)、全体的な「パターン」が複数行であるため、私はそれを理解できませんでした。望ましい出力:

    might be text here;
    STRING_TO_MATCH
    some text;
    more text

    maybe brackets ( might be text and numbers 123);

ワークフローは次のようになるはずです。

string_to_match を見つけ、前の最初の /* を見つけて削除し、次の最初の */ を削除します。

ソリューションが自動的に機能する場合は素晴らしいでしょう

/*  STRING_TO_MATCH
    some text;
    more text

    maybe brackets ( might be text and numbers 123);
*/

バッシュアマチュアからの事前の感謝!私はSEDで成功しませんでした。AWK の解決策とばかげた説明も歓迎します。ご挨拶!

4

1 に答える 1