1

テキストファイル(input.txt)に次のものがあります。

/dsdjf48 84f3jh0-=-=-+F_+_m a=
^^^^^^^^^
Random Words
vvvvvvvvv
fkls;[]saf\as-1f-d=fd-s=dsf=-s

Hello, now I will start typing a sentence.

これをサポートしていると思われるperl正規表現を使用して、「こんにちは、今はそうします」の前にすべてを削除する必要があります。私が使用するコマンドは次のとおりです。

perl -p -e "s/search-term/replace-term/" input.txt

正規表現検索を実行すると、行ごとに検索されます。複数行検索を有効にするフラグはありますか?

4

4 に答える 4

2

ここではバイナリ..flip-flop演算子として使用して、これを行う必要があります。

perl -pe '$_ = "" unless /^Hello, now/ .. 1' input.txt

(インライン オプション) を使用-iして、入力ファイル自体に変更を保存します。

perl -pi -e '$_ = "" unless /^Hello, now/ .. 1' input.txt

=!!この場合にも使用可能です。

perl -pi -e '$_ x=!! (/^Hello, now/ .. 1)' input.txt
于 2013-10-24T04:11:37.297 に答える
1
> perl -i -lne 'BEGIN{$f=0}if(/Hello/){$f=1}if($f){print}' your_file
于 2013-10-24T06:41:10.020 に答える