Linuxで文字列にマッチした行の前後の行を表示します。
記事の目次
文字列にマッチした前後の行を表示する!(grep -C)
「-C」オプションを使用して、文字列にマッチした前後の行を表示します。
$ grep -n -C 4 sshd /etc/passwd 43-gnome-initial-setup:x:124:65534::/run/gnome-initial-setup/:/bin/false 44-gdm:x:125:130:Gnome Display Manager:/var/lib/gdm3:/bin/false 45-usradmin:x:1000:1000:usradmin,,,:/home/usradmin:/bin/bash 46-systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin 47:sshd:x:126:65534::/run/sshd:/usr/sbin/nologin 48-zabbix:x:127:134::/var/lib/zabbix/:/usr/sbin/nologin 49-Debian-snmp:x:128:135::/var/lib/snmp:/bin/false 50-mongodb:x:129:136::/var/lib/mongodb:/usr/sbin/nologin 51-snapd-range-524288-root:x:524288:524288::/nonexistent:/usr/bin/false
文字列にマッチした後の行を表示する!(grep -A)
文字列にマッチした後の行を表示します。
$ grep -n -A 4 sshd /etc/passwd 47:sshd:x:126:65534::/run/sshd:/usr/sbin/nologin 48-zabbix:x:127:134::/var/lib/zabbix/:/usr/sbin/nologin 49-Debian-snmp:x:128:135::/var/lib/snmp:/bin/false 50-mongodb:x:129:136::/var/lib/mongodb:/usr/sbin/nologin 51-snapd-range-524288-root:x:524288:524288::/nonexistent:/usr/bin/false
文字列にマッチした後の行を表示する!(grep -B)
文字列にマッチした前の行を表示すこともできます。
$ grep -n -B 4 sshd /etc/passwd 43-gnome-initial-setup:x:124:65534::/run/gnome-initial-setup/:/bin/false 44-gdm:x:125:130:Gnome Display Manager:/var/lib/gdm3:/bin/false 45-usradmin:x:1000:1000:usradmin,,,:/home/usradmin:/bin/bash 46-systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin 47:sshd:x:126:65534::/run/sshd:/usr/sbin/nologin
おわりに
表示したい情報が、マッチした行の数行あとであったり、直前であったりする場合などに利用できるgrepコマンドのオプションをまとめてみました。
関連記事
関連書籍(Amazon)