19/20およびBRE

Sed
ストリームエディタ。ストリームエディタは、エディタがデータを処理する前に、事前に提供された一連のルールに基づいてデータストリームを編集します。

sedエディターは、次の操作を実行します。
(1)一度に1行のデータを入力から読み取ります。
(2)提供されたエディターコマンドに従ってデータを照合します。
(3)コマンドに従ってストリーム内のデータを変更します。
(4)新しいデータをSTDOUTに出力します。
-最も重要なことはsedの動作原理です

-nコマンド出力を生成せず、printコマンドを使用して出力を完了します-
一致する行が編集されているかどうかに関係なく、出力は生成されません。

sedの使用方法:
1。コマンドラインでエディターコマンドを定義します
。2。セミコロンで区切って複数のエディターコマンドを使用できます。3
。ファイルからエディターコマンドを読み取ることができます。-f

sedを使用して置換する方法:
replaceコマンドは、複数行のテキストを置換する場合は正常に機能しますが、デフォルトでは、各行の最初の出現のみを置換します。
置換コマンドで行のさまざまな場所に表示されるテキストを置換できるようにするには、置換フラグ(置換フラグ)を使用する必要があります。置換マークは、置換コマンド文字列の後に設定されます。
s / pattern / replace / flagsに
は、4種類の置換フラグがあります
。numberは、パターンが一致する場所を新しいテキストが置き換える
ことを示します。gは、新しいテキストが一致するすべてのテキストを置き換える
ことを示します。pは、元のテキストを示します。最初のコンテンツを印刷する必要があります
。wファイル、置換結果をファイルに書き込みます。

-交換マークは、交換の数を示す番号にすることができることに注意してください。使用されていない。

Sedアドレッシングモード:
1。デジタル行アドレッシング
2.テキストモードフィルター

Sed行の操作方法:
1。文字列の置換、s
2.行の削除、d
3.行の挿入/追加の行、i / a
4.行の変更、c
5.単一文字の変換、y
6.行番号の印刷、=

20の正規表現

BRE \ ^ $。* []
ERE?+ {}()

\:エスケープ。* [] ^ $ {} +?|()、これらは特殊な文字であり、エスケープする必要があります
^ $:アンカー文字
。:単一文字

  • :前の文字の0回以上
    []:文字グループ

[[:alpha:]]
Alnum英数字の
空白スペースまたはタブ
桁の
小文字のアルファベット文字
印刷可能な文字の
句読点の句読点
スペース空白の文字、スペース、タブ、NL、FF、VT、CR
大文字の大文字キャラクター

EREはsedには適していません
:?0回または1回

  • 少なくとも1回
    {m、n}少なくともm回、最大n回
    {m}正確にm回
    ()式のグループ化

おすすめ

転載: blog.51cto.com/13690643/2540660