grep
常见参数:
-r : 递归查询目录下的所有文件;
-n:显示行号;
-v:排除关键字;
-o:只输出匹配的字符串;
-num:num为数值,输出匹配的上下num行;
-i:忽略大小写。
几大场景
查找进程
# 查找名称为 emqx 的进程信息
ps -ef | grep emqx
[root@yao02 ~]# ps -ef | grep emqx
root 23758 6030 0 00:30 pts/0 00:00:00 grep --color=auto emqx
root 29247 1 0 Aug19 ? 00:00:00 /root/emqx/erts-12.1.5/bin/run_erl -daemon //root/emqx/data/root_erl_pipes/yao02@192.168.0.248/ /root/emqx/log exec "/root/emqx/bin/emqx" "console"
root 29250 29247 0 Aug19 pts/4 00:17:55 yao02 -P 2097152 -Q 1048576 -e 256000 -spp true -A 4 -IOt 4 -SDio 8 -- -root /root/emqx -progname root/emqx/bin/emqx -- -home /root -- -boot /root/emqx/releases/4.4.7/start -mode embedded -boot_var ERTS_LIB_DIR /root/emqx/erts-12.1.5/../lib -mnesia dir "/root/emqx/data/mnesia/yao02@192.168.0.248" -config /root/emqx/data/configs/app.2022.08.19.01.06.55.config -kernel net_ticktime 120 -shutdown_time 30000 -pa data/patches -pa /root/emqx/releases/4.4.7/consolidated -setcookie emqxsecretcookie -name yao02@192.168.0.248 -- -vm_args /root/emqx/data/configs/vm.2022.08.19.01.06.55.args -start_epmd false -epmd_module ekka_epmd -proto_dist ekka -- console --
root 29690 29664 0 Aug19 ? 00:03:48 /root/emqx/lib/os_mon-2.7.1/priv/bin/memsup
root 29691 29664 0 Aug19 ? 00:00:01 /root/emqx/lib/os_mon-2.7.1/priv/bin/cpu_sup
# 排除一些无关的进程信息
ps -ef | grep emqx | egrep -v "grep|run_erl|memsup|cpu_sup"
[root@yao02 ~]# ps -ef | grep emqx | egrep -v "grep|run_erl|memsup|cpu_sup"
root 29250 29247 0 Aug19 pts/4 00:17:55 yao02 -P 2097152 -Q 1048576 -e 256000 -spp true -A 4 -IOt 4 -SDio 8 -- -root /root/emqx -progname root/emqx/bin/emqx -- -home /root -- -boot /root/emqx/releases/4.4.7/start -mode embedded -boot_var ERTS_LIB_DIR /root/emqx/erts-12.1.5/../lib -mnesia dir "/root/emqx/data/mnesia/yao02@192.168.0.248" -config /root/emqx/data/configs/app.2022.08.19.01.06.55.config -kernel net_ticktime 120 -shutdown_time 30000 -pa data/patches -pa /root/emqx/releases/4.4.7/consolidated -setcookie emqxsecretcookie -name yao02@192.168.0.248 -- -vm_args /root/emqx/data/configs/vm.2022.08.19.01.06.55.args -start_epmd false -epmd_module ekka_epmd -proto_dist ekka -- console --
文件查找关键字
# 查找当前路径下所有的txt文件匹配关键字 Haha 的上下5行,并且忽略大小写,输出文件名称、行号
grep -5 "Haha" *.txt -r -n -i
text1.txt-1-56789
text1.txt-2-asdajsdbasjdsadbasjbxa jahdbjasdq7rebjadsjkfadsjc sdjnaskdabjsfcbasdhcdvndslkal
text1.txt-3-asjdnasjkcasjd
text1.txt-4-sasjkdcanks
text1.txt-5-
text1.txt:6:shdbaa hahhahahahahaha
text1.txt-7-