文字列パターン検索[閉じる]

文字列パターン検索[閉じる]

私はLinuxに初めて触れました。システム管理者に任命されたい。 Amazonでインタビューしました。彼らはファイル内の「s」で始まり、「a」で終わる文字列を見つけるためにcmdを書くように頼んだ。 grepを使用する必要があることは知っていますが、実際の状況はわかりません。何よりも、彼らはgrepがどのように機能するのか尋ねます。誰でもこの質問に簡単に答えることができますか?

事前にありがとう

ベストアンサー1

grepは、名前付き入力ファイル(またはファイル名が指定されていない場合、または単一のハイフンマイナス記号(-)がファイル名として指定されている場合は標準入力)から、指定されたPATTERNと一致する行を検索します。デフォルトでは、grepは一致する行を印刷します。

Grepコマンド

Grepとそのオプション

-v  =   non-matching lines
-c  =   count of matching  lines
-i  =   Ignore  case
-r  =   Read all  files  under  each  directory
-l  =   list the file which contain the searching keyword
 ^      =       Search the Starting word of a file
.$      =       Search the end word of a file
^$      =       Search the empty lines in a file

特定のキーワードに一致するファイルのすべての行を検索します。

grep sysadmin /etc/passwd

数値表示

grep -nv nologin /etc/passwd

キーワードを避けて他のキーワードで検索してください

grep -v sysadmin /etc/passwd

検索中のキーワードに一致する行数の計算

grep -c sysadmin /etc/passwd

大文字と小文字を無視してテキストを検索する

grep -i sysadmin /etc/passwd

/home特定のパターンに一致するテキストを見つけるには、そのサブディレクトリ内のすべてのファイルを検索し、一致する行を印刷します。

grep -ri sysadmin /home/

/home特定のパターンに一致するテキストのサブディレクトリ内のすべてのファイルを検索し、そのテキストを含むファイルを一覧表示します。

grep -ril sysadmin /home/

いくつかのIPのうち、特定のIPを検索してみてください。リテラル文字-Fと一致することを確認してください。リテラル文字がない場合は、すべての文字と一致します。..

grep -F "192.168.1.10" /var/log/syslog

次に始まる行の検索Feb

grep ^Feb /var/log/syslog

次の文字で終わる行を検索するqueue

grep queue$ /var/log/mail.log

ファイルの空行数の計算(スペースを含む行は計算されません)

grep -c ^$ /var/log/mail.log

ディレクトリとサブディレクトリのすべてのファイルから文字列を取得する

grep -r "root" .

おすすめ記事