Linuxでgrepコマンドでファイルの内容を取得する

1510 ワード

Linuxシステムではファイル内のコンテンツを検索、検索するのが一般的で、grepコマンドが最もよく使われています.また、egrepコマンドもあり、viコマンドもファイルコンテンツ検索をサポートしています.
  • ファイルに文字列が含まれているかどうかを検索する
  • コマンドフォーマット:grep「検索された文字列」filename 1
    例:
    grep "0101034175" /data/transaction.20170118.log
    
  • 複数のファイルから文字列を取得する
  • コマンド形式:
  • grep「検索された文字列t」filename 1 filename 2 filename 3...
  • grep"検索された文字列"*.log
  • 検索内容のファイル内の行数を表示するには、パラメータ-n
  • を使用することができる.
    コマンドフォーマット:grep-n"検索文字列"*.log
  • 検索時に大文字と小文字の問題を無視する必要があります.パラメータ「-i」
  • を使用します.
    コマンドフォーマット:grep-i"検索文字列"*.log
  • ファイル内容から指定文字列に一致しない行
  • を検索する.
    コマンドフォーマット:grep–v「検索された文字列」ファイル名
  • 検索、検索一致する行数:
  • コマンド形式:
  • grep–c「検索された文字列」ファイル名
  • grep「検索された文字列」ファイル名|wc-l
  • あるディレクトリおよびサブディレクトリの下にあるすべてのファイルを再帰的に検索する
  • .
    コマンドフォーマット:grep–r「検索された文字列」ファイルディレクトリ
  • 検索内容を含むファイルを取得し、ファイル名
  • をリストします.
    コマンドフォーマット:grep-H–r「検索された文字列」ファイルディレクトリ|cut-d:-f 1[|uniq]
    例:
    grep -H -r "v\$temp_space_header" /u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1
    
    grep -H -r "v\$temp_space_header" /u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1 | uniq
    
  • 検索文字全体に一致するコンテンツ
  • を取得する.
    コマンドフォーマット:grep–w「検索された文字列」ファイル名
  • grepコマンドとfindコマンドの結合により、共同検索
  • を実現する.
    コマンドフォーマット:find.-name '*.sql'-exec grep-i'被検索内容'{};print
    例:
    find . -name '*.sql' -exec grep -i 'v\$temp_space_header' {} \; -print