Unixコマンド/grep の変更点

  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • Unixコマンド/grep へ行く。

*&size(15){''grep''}; [#d428478f]

**''機能'' [#j45aee58]
grepコマンドは、指定されたパターン(文字列)を含む行を抽出し、結果を標準出力に出力します。~
ファイル名が指定されない場合は、標準入力からデータを読み込みます。~
ファイル名はワイルドカードなどを用いて一度に複数のファイルを指定できます。~
パターンには正規表現が指定できます。~

**''形式'' [#g127532b]
grep [オプション] [パターン] [ファイル名]

**''オプション'' [#l00307a3]
 -e            このオプションに続く引数をパターンとして処理
               (-から始まるパターンを指定したいときに使用)
 -h            複数のファイルを指定された場合でも、抽出した行の先頭にファイル名を表示しない
 -i            パターンとの照合を行うときに、大文字小文字の区別をしない。
 -n            パターンを含む行がそのファイルに何行あるかを表示する。
 -v            指定したパターンを含まない行を表示する。
 -B1           指定したパターンを含む行と、その前1行を表示する。
 -A1           指定したパターンを含む行と、その後一行を表示する。

**''コマンド例'' [#n057ca09]
▼指定した文字列を含む行を抽出~
/etc/shellsからlocalを含む行を抽出~
 $ cat /etc/shells                    /etc/shellsの内容を表示する。
 -------------------------------------------------
 # $FreeBSD: src/etc/shells,v 1.3.2.1 2000/07/10 08:47:17 obrien Exp $
 #
 # List of acceptable shells for chpass(1).
 # Ftpd will not allow users to connect who are not using
 # one of these shells.
 
 /bin/sh
 /bin/csh
 /bin/tcsh
 /usr/local/bin/bash
 -------------------------------------------------
 $ grep local /etc/shells
 /usr/local/bin/bash
▼指定した文字列を含まない行を表示する。~
/etc/shellsからlocalを含まない行を表示する。~
 $ grep -v local /etc/shells
 # $FreeBSD: src/etc/shells,v 1.3.2.1 2000/07/10 08:47:17 obrien Exp $
 #
 # List of acceptable shells for chpass(1).
 # Ftpd will not allow users to connect who are not using
 # one of these shells.
 
 /bin/sh
 /bin/csh
 /bin/tcsh
▼正規表現を利用して、ある条件の文字列を抽出~
/etc/shellsから行の先頭が/binで始まる行を抽出する。
 $ grep -e ^/bin /etc/shells
 /bin/sh
 /bin/csh
 /bin/tcsh
▼指定したパターンの前2行を表示する。
 $ cat /etc/passwd
 ----------------------------------------------
 root:*:0:0:Charlie &:/root:/bin/csh
 toor:*:0:0:Bourne-again Superuser:/root:
 daemon:*:1:1:Owner of many system processes:/root:/usr/sbin/nologin
 operator:*:2:5:System &:/:/usr/sbin/nologin
 bin:*:3:7:Binaries Commands and Source:/:/usr/sbin/nologin
 tty:*:4:65533:Tty Sandbox:/:/usr/sbin/nologin
 kmem:*:5:65533:KMem Sandbox:/:/usr/sbin/nologin
 games:*:7:13:Games pseudo-user:/usr/games:/usr/sbin/nologin
 news:*:8:8:News Subsystem:/:/usr/sbin/nologin
 ----------------------------------------------
 
 $ grep -B2 operator /etc/passwd
 toor:*:0:0:Bourne-again Superuser:/root:
 daemon:*:1:1:Owner of many system processes:/root:/usr/sbin/nologin
 operator:*:2:5:System &:/:/usr/sbin/nologin