① 定義
grep是行級設備,它分析一行信息,若當中有我們所需要的信息,就將整行返回
② 作用
進行字符串數據的對比,將符合用戶需求的字符串打印出來
③ 格式
grep [-acinv] [--color=auto] '查找字符串' filename
參數:
-a:將二進制文件一text文件的方式查找數據
-c:計算找到‘查找字符串’的次數
-i:對大小寫透明
-n:輸出行號
-v:顯示沒有‘查找字符串’內容的那一行
-A:後面可加數字,為after的意思,除了列出該行外,後續的n行也列出來
-B:後面可加數字,為before的意思,除了列出該行外,前面的n行也列出來
--color=auto:關鍵字上色
④ 例子
eg01:找出有檢查點事件發生的標志
[Oracle@localhost bdump]$ grep -in --color=auto 'checkpoint' alert_orcl.log
64: checkpoint is 446074
66: checkpoint is 446074
69: checkpoint is 446074
72: checkpoint is 446074
383: checkpoint is 460200
1845:Checkpoint not complete
2112: checkpoint is 606217
2114: checkpoint is 606217
2116: checkpoint is 606217
2118: checkpoint is 606217
2120: checkpoint is 606217
eg02:從內核中找出網卡相關信息
[oracle@localhost bdump]$ dmesg | grep -n -A3 -B2 --color=auto 'eth'
599-iscsi: registered transport (iser)
600-iscsi: registered transport (be2iscsi)
601:eth0: no IPv6 routers present
602-Bluetooth: Core ver 2.10
603-NET: Registered protocol family 31
604-Bluetooth: HCI device and connection manager initialized
--
615-ip_conntrack version 2.4 (8192 buckets, 65536 max) - 228 bytes per conntrack
616-ip6_tables: (C) 2000-2006 Netfilter Core Team
617:peth0: Promiscuous mode enabled.
618:device peth0 entered promiscuous mode
619:xenbr0: port 1(peth0) entering forwarding state
620-device vif0.0 entered promiscuous mode
621-New device vif0.0 does not support netpoll
622-Disabling netpoll for xenbr0
--
625-hdc: drive_cmd: error=0x04 { AbortedCommand }
626-ide: failed opcode was: 0xec
627:eth0: no IPv6 routers present
628:xenbr0: port 1(peth0) entering disabled state
629:xenbr0: port 1(peth0) entering forwarding state