シェル三銃士_1.grep

1.grep

・Grepの:グローバル正規表現print__グローバル正規表現出力。

・grepコマンドは、文字列予選(フィルター)ファイルを検索するために使用されます。

・Grepの密接な正規表現。

■構文

グレップ- [パラメータ] <ファイル名>

共通■ パラメータを

  • -A <N(行数)>:線が引かれ、クエリに沿って表示され、行の後のn番目の行の内容が表示されます。
  • -B <N(行数)>:行の前のn行の内容クエリに一致する行、およびディスプレイを抽出して表示します。
  • -c:ラインクエリ行に表示する行数をカウントします。
  • -i:文字サイズを無視します。
  • -n:抽出し、クエリに一致する行を表示し、結果行の前の行の数をマークします。
  • -v:照会およびコンテンツを除くすべての行を表示するために準拠して撤回。

■インスタンス

・グレップ-A <N(行数)>ファイル名

コピー/ホーム/ yubxディレクトリに/ etc / passwdファイル

[ルート@デル-AP- 01 yubx]#のCPの/ etc / passwdファイル /ホーム/ yubx

VIと/ Vimのコマンド修正ファイル、次のように改正passwdファイルの内容:

1ルートX:00:ルート:/ルート:/ binに/ bashの
 2ビン:X:11:ビン:/ binに:/ sbinに/ NOLOGIN
 3デーモン:X:22:デーモン:/ sbinに: / sbinに/ NOLOGIN
 4 ADM:X:34:ADM:/ VAR / ADM:/ sbinに/ NOLOGIN
 5  LP:X:47LP:の/ var /スプール/ LPD:/ sbinに/ NOLOGIN
 6  同期:X :50同期:/ sbinに
 7DBUS X:8181:システムメッセージバス:/:/ sbinに/ NOLOGIN
 8 polkitd X:999998:ユーザーのための polkitd:/:/ sbinに/ NOLOGIN
 9のsshd:X:7474:特権分離SSH :/ VAR /空/ sshdの:/ sbinに/ NOLOGIN
 10接尾辞:X:8989 :: / VAR /スプール/ postfixの:/ sbinに/ NOLOGIN
 11 chrony X:998996 :: / VAR / LIB / chrony。 / sbinに/ NOLOGIN
 12アパッチ:X:4848:Apacheの:を/ usr / share /のhttpd:/ sbinに/ nologinに
 13  のtomcat:X:1000年1000年 :: /ホーム/ tomcatに:/ binに/ bashの
 14オラクル:X:10011006 :: /ホーム/オラクル:/ binに/ bashの
 15  Tomcatの 0101abcaaaaccc
 16  1dddddddddkkkkkkkkkkkkkkkkkaaaaa
 17  2fffffffffffffffffff
 18  3aaaaaaaaaaaaaa
 19  4hhhhhhhhhhhhhhh
 20  5ggggggggggggggggggg
 2122

 

コマンドの実行結果:

1  [ルートデル-AP-01 yubx @]#grepの-A1「Tomcatのpasswdの
 2のtomcat:X:1000年1000年 :: /ホーム/ tomcatに:/ binに/ bashの
 3 X:Oracleの10011006 :: /ホーム/オラクル:/ binに/ bashの
 4  tomcat0101abcaaaaccc
 5  1dddddddddkkkkkkkkkkkkkkkkkaaaaa
 6  [ルートは、Dell-AP-01 yubx @]#grepの-A3「Tomcatのpasswdの
 7 X:Tomcatの1000年1000年 :: /ホーム/ tomcatに:/ binに/ bashの
 8オラクル:X:10011006 :: /ホーム/オラクル:/ binに/ bashの
 9  tomcat0101abcaaaaccc
10  1dddddddddkkkkkkkkkkkkkkkkkaaaaa
 11  2fffffffffffffffffff
 12  3aaaaaaaaaaaaaa
 13  #はgrep -A10 'Tomcatの' passwdの[ルートデル-AP-01 yubx @]
 14 Tomcatの:X:1000年1000年 :: /ホーム/ Tomcatの:/ binに/ bashの
 15オラクル:X:10011006 :: /ホーム/オラクル:/ binに/ bashの
 16  tomcat0101abcaaaaccc
 17  1dddddddddkkkkkkkkkkkkkkkkkaaaaa
 18  2fffffffffffffffffff
 19  3aaaaaaaaaaaaaa
 20  4hhhhhhhhhhhhhhh
 21  5ggggggggggggggggggg
 22デル-AP-@ [ルート01 yubx]

 解像度:

私たちは、ファイルの内容から見ることができ、「Tomcatの」文字を含む行、すなわちライン13とライン15の2行を、持っています。

  • -A1の機会は、ラインに沿ったコンテンツを検索するには、描画され、ターゲットライン1ラインへのコンテンツの相対は、ここから出てもいました。
  • -A3機会は、ラインに沿ったコンテンツを検索するには、描画され、ターゲットライン3ラインへのコンテンツの相対は、ここから出てもいました。
  • -A10の機会、ラインに沿ってコンテンツを検索するには、描画され、ターゲットライン10へのコンテンツの相対は、ここではラインの外にもあります。(ファイル内の5行のみ最大)

 要約すると、-A <n>を抽出して表示するコンテンツが検索対象ライン、目標ラインとに対応することを意味し、すべてのn行の内容。

 ・グレップ-B <N(行数)>ファイル名

役割:抽出と表示、検索内容に対応するターゲットラインとゴールラインの前に、すべてのn行の内容。

※:-Aおよび-Bにより、ほぼ、例の方法はありません。

 

・Grepの-cファイル名「クエリ文字列に」

役割:テキスト行と一致する行の数だけを印刷、マッチングコンテンツが表示されません。

例:上記のpasswdファイルに基づいて、以下のコマンドを実行します。

[ルート@デル-AP- 01 yubx]#grepの -c ' Tomcatの'  passwdの
2

上記手段の結果は、passwdファイルは、「Tomcatの」文字列を含む2つの行を有します。

 

・「クエリ文字列に」Grepの-iファイル名

役割:テキスト行と一致する行の数だけを印刷、マッチングコンテンツが表示されません。

例:上記のpasswdファイルには、次の追加の行に基づいています。

... ... 

4hhhhhhhhhhhhhhh 
5ggggggggggggggggggg TOMCAT123456uuusssaaadd

次のコマンドを実行します。

[デル-AP-@ルート01 yubx]#はgrep -i ' TOMCAT '  passwdの
Tomcatの:X:1000年1000年 :: /ホーム/ tomcatに:/ binに/ bashの
tomcat0101abcaaaaccc 
TOMCAT123456uuusssaaadd 
[デル@ルートが -ap- 01#yubx] はgrepを -i ' Tomcatの'  passwdの
Tomcatの:X:1000年1000年 :: /ホーム/ tomcatに:/ binに/ bashの
tomcat0101abcaaaaccc 
TOMCAT123456uuusssaaadd 
[デル@ルート -ap- 01#yubx]

 

・Grepの-nファイル名「クエリ文字列に」

役割は:抽出し、クエリに一致する行を表示し、結果行の前の行の数をマークします。

例:次のコードは、上記のドキュメントに基づいて、

[@ルートデル-AP-01 yubx]#grepを-n "Tomcatのpasswdの
13:tomcatにします。x:1000:1000 :: /ホーム/ tomcatに:/ binに/ bashの
15:tomcat0101abcaaaaccc
[ルートデル-AP-01 yubx @ ]#

上記の結果、「13、15は、」対象ファイルの行の行番号です。

 

・Grepの-vファイル名「クエリ文字列に」

役割:行のクエリを抽出して表示するには外のすべての行。

例:次のコードは、上記のドキュメントに基づいて、

[デルAP- @ルート01#yubx] はgrep -v ' Tomcatの'  passwdの
ルートX:00:ルート:/ルート:/ binに/ バッシュ
ビンX:11:ビン:/ binに:/ sbinに/ NOLOGIN 
デーモン:X:22:デーモン:/ sbinに:/ sbinに/ NOLOGIN 
ADM:X:34:ADM:/ VAR / ADM:/ sbinに/ NOLOGIN
 LP:X:47LP:/ VAR /スプール/ LPD:/ sbinに/ NOLOGIN
 同期 X:50同期:/ sbinに
DBUS:X:8181:システムメッセージバス:/:/ sbinに/ NOLOGIN 
polkitd:X:999998:ユーザーのための polkitd:/:/ sbinに/ NOLOGIN 
のsshd:X:7474:特権区切らSSH:は/ var /空/ sshdを:/ sbinに/ nologinに
後置:X:8989 ::は/ var /スプール/ postfixの:/ sbinに/ nologinに
chrony:X:998996 ::は/ var / libに/ chrony :/ sbinに/ nologinに
apacheの:X:4848:Apacheの:を/ usr / share /のhttpd:/ sbinに/NOLOGINの
神託:X:10011006 :: /ホーム/オラクル:/ binに/ bashの
1dddddddddkkkkkkkkkkkkkkkkkaaaaa 
2fffffffffffffffffff 
3aaaaaaaaaaaaaa 
4hhhhhhhhhhhhhhh 
5ggggggggggggggggggg 
TOMCAT123456uuusssaaadd 
[デル@ルート -ap- 01#yubx]

上記の結果から分かるように、2行が印刷されていないこと「のTomcat」を含みます。

 

最後に書かれました■

ここはほんの数grepの一般的な、文字列の操作の例を挙げました。

これは氷山のgrep強力な機能のほんの先端です。

多くのここでのパラメータと無導入があります。特定のパラメータとパラメータアクションが使用して表示することができ、「--help grepを。」

grepがより強力かつ定期的な組み合わせであり、多くのパラメータを組み合わせて使用​​することができます。

その後の定期的な[linuxの]エッセイでは、我々はgrepの機能を説明していきます。

上記。

おすすめ

転載: www.cnblogs.com/yubx/p/12506189.html