web-dev-qa-db-ja.com

正規表現は、特定の行のメモ帳++の後のすべての行を削除します

特定の行を選択していますが、その後のすべてのテキストと行とともに削除したいと思います。

必要な文字列を含む行を選択するために使用するコード:

^.*(string).*$

また、私はそれを削除し、別の文字列のためにその前にテキストを送信します。

すべてのテキストと行を1つのカスタム行に置き換えることができれば素晴らしいと思います。

。*と\ r\nを追加しようとしましたが、何も機能しません。

1
Simon S

私は答えを見つけました。それは地獄のように単純でした。

この単純な線は私が望んでいたことをしました、多分それは他の誰かのためにも役立つでしょう。

(\string).*$

文字列を含む文字列の後のすべてを選択します

1
Simon S

行に移動します。 Ctrl-G。
検索と置換にはCtrl-H。
「検索」に。* $を入力します。 「置換」の空白正規表現を選択し、「。matchesnewlines」をチェックします。置換を押します

0
Milind

私があなたの質問を理解すれば、このスクリプトは最初の問題に答えます。 2番目の問題では、ほぼ同じスクリプトを使用して、2つのファイルでdiffを実行します。

#!/bin/bash -
#
gawk '
# /pattern/ { action } 
BEGIN { flag = 0 }
/^.*foo.*$/ { flag++ }
{
if (flag == 0)
    print $0 
}
' file
0
Trenton J