メタキャラクター
. 中国語の任意の 1 文字と一致します。
[] 指定された範囲内の任意の 1 文字と一致します (例: [zhou] [0-9] [] [a-zA-Z] [:alpha:] [^]指定された範囲外の任意の 1 文字と一致します
。例: [^zhou] [^az] [az]
[:alnum:] 文字と数字
[:alpha:] は、英語の大文字と小文字、つまり AZ、az
[: lower:] 小文字を表します。例: [[: lower:]]、[az] と同等
[:upper:] 大文字
[:blank:] 空白文字(スペースとタブ)
[:space:] には、スペース、タブ(水平および垂直)、改行、復帰など、さまざまな種類の空白文字が含まれます。 [:blank:] には、
広範囲
の [:cntrl:] 印刷不可能な制御文字 (バックスペース、削除、アラームなど) が含まれます (バックスペース、削除、アラームなど)
[:digit:] 10 進数の数字
[:xdigit:] 16 進数の数字
[:graph:] 印刷可能空白以外の文字
[:print:] 印刷可能な文字
[:punct:] 句読点
\w # 単語の構成要素と一致します。[ [:alnum:]]と同等
です。 \W # 単語以外の構成要素などと一致します。 [^ [と同等です。 :alnum:]]
\S #空白以外の文字と一致します。[^ \f\n\r\t\v] と同等。
\s # は、スペース、タブ、フォーム フィードなどを含む任意の空白文字と一致します。[ \f\n\r\t\v] と同等。
Unicode 正規表現は全角スペースと一致することに注意してください。
式の数
- #前の文字と任意の回数 (0 回を含む) 一致します。貪欲モード: できるだけ長く一致します。
* #任意の長さの文字 (0 回を除く)
? #前の文字と 0 回または 1 回一致します。つまり: OK オプション
+ #前の文字と少なくとも 1 回一致します。つまり、確実かつ >= 1 回
{n} #前の文字と n 回一致します
{m,n} #前の文字と少なくとも m 回、最大で n 回一致します
{ ,n} #前の文字と最大 n 回一致、<=n
{n,} #前の文字と少なくとも n 回一致
例:
バンド表の前の o が 2 回表示されます。
バンド表の前の○が2回以上出現する
バンド表の前の○が2回以上5回未満出現する
バンド表の前の○が複数回出現する
位置固定
^ #行頭のアンカーリング、パターンの左端に使用
$ #行末のアンカーリング、パターンの右端に使用
^PATTERN$ #行全体のパターンマッチングに使用 (単一行にはルートのみ)
^$ #空行
^ [[:space:]]*$ #空行
< または \b #単語の先頭のアンカー、単語パターンの左側で使用 (連続する数字、文字、アンダースコアはすべて単語の内部とみなされます) > または \b #単語の終わりのアンカー、右側で
使用単語パターン
<PATTERN> # 単語全体に一致
例:
# 記号で始まらない空でない行をフィルターで除外する
グループ化またはその他
グループ化: () 複数の文字をまとめて、全体として扱います (例: (root)+)
バックリファレンス: グループ化括弧内のパターンと一致するコンテンツは、正規表現エンジンによって内部変数に記録されます。これらの変数の名前は、
形式は次のとおりです: \1、\2、\3、...
\1 は、左から最初の左括弧とそれに対応する右括弧の間のパターンと一致する文字を表します。
grep
grep [オプション]… 条件付き対象ファイルの検索
- -i: 検索時に大文字と小文字を区別しない
- -v: 逆検索、検索条件に一致しない行を出力します。
- -o 一致するもののみを表示
- -f は 2 つのファイル内の同じ行を比較します
- -c 一致する行数
- -n 一致する行番号を表示します
- -r ディレクトリを再帰しますが、ソフト リンクは処理しません
- R は再帰的ディレクトリですが、ソフト リンクを処理します
- -w は単語全体に一致します
- -q サイレント モード、情報を出力しません。
例:
現在のホストの接続状態をカウントし
、現在接続されているホストの数をカウントします。
セド
一般的に使用されるオプション:
-n パターンスペースの内容を画面に出力しません。つまり、自動的に印刷しません。
-e マルチポイント編集
-r、-E 拡張正規表現を使用します。
-f FILE 指定されたファイルから編集スクリプトを読み取ります。
-i.bak ファイルをバックアップし、その場で編集します。
-s は、複数のファイルを単一の連続した長いファイル ストリームではなく、独立したファイルとして扱います。
例
sed '' /etc/fstab ファイルの内容を表示する
sed スクリプトの形式
一重引用符で囲んだスクリプトを記述する必要があります: アドレス + コマンド
#: 指定した行
$: 最後の行
#, # # 行 # から行 # まで (例: 3 行目から 6 行目までの 3, 6)
#,+# ##行目から+#行目(3、+4など)は3行目から7行目までを意味します
1 ~ 2 奇数行
0 ~ 2 偶数行p 現在のパターン スペースの内容を印刷し、
デフォルト出力に追加した後に
* 行のみを表示します
Ip case の出力を無視します
d パターンスペースに一致する行を削除し、すぐに次のサイクルを有効にします
a []text 指定された行の後にテキストを追加します。複数行の追加を実装するための \n の使用をサポートします
i []text 行の前にテキストを挿入します
c [ ] text 行を 1 行または複数行のテキストに置き換えます。
w file パターンが一致した行を指定されたファイルに保存します。
r file 指定されたファイルのテキストをパターン空間内の一致した行まで読み取ります
= 行の行番号を出力します。パターン空間
! パターン空間内 一致する行を否定し、
q を処理して sed を終了または終了します
検索と置換
s/pattern/string/Modifier の検索と置換は、他の形式の区切り文字の使用をサポートします。 s@@@、s### 置換修飾子
:
g インライン グローバル置換
p 正常に置換された行を表示します
w /PATH/FILE 正常に置換された行をファイルに保存します。
I,i は大文字と小文字を無視します。
例
s// は検索と置換を表します () はグループ化を表します\1 は残りのグループを表します