1、查看日志 前 n行:
cat 文件名 | head -n 数量
demo:
cat test.log | head -n 200 # 查看test.log前200行
2、查看日志 尾 n行:
cat 文件名 | tail -n 数量
demo:
cat test.log | tail -n 200 # 查看test.log倒数200行
3、根据 关键词 查看日志 并返回关键词所在行:
方法一:cat 路径/文件名 | grep 关键词
demo:
cat test.log | grep "http" # 返回test.log中包含http的所有行
方法二:grep -i 关键词 路径/文件名 (与方法一效果相同,不同写法而已)
demo:
grep -i "http" ./test.log # 返回test.log中包含http的所有行
4、linux系统中,利用grep打印匹配的上下几行
如果在只是想匹配模式的上下几行,grep可以实现。
$grep -5 'parttern' inputfile //打印匹配行的前后5行
$grep -C 5 'parttern' inputfile //打印匹配行的前后5行
$grep -A 5 'parttern' inputfile //打印匹配行的后5行
$grep -B 5 'parttern' inputfile //打印匹配行的前5行
//搜索inputfile中满足parttern的内容的行号
grep -n 'parttern' inputfile
查看某文件inputfile指定行号(90)后的内容
tail -n +90 inputfile
查看文件inputfile的第190行到196行
sed -n '190,196p' inputfile
grep与egrep
都是一个过滤工具。
grep 和 egrep 都要通过 正则表达式来筛选我们想要的东西,只能筛选文本内容,不能对目录筛选,如果想筛选目录可以通过管道把目录传过去,或者把目录存到文件里头再筛选
–color=auto:对匹配到的文本着色后高亮显示
这个是grep的别名
alias egrep=’egrep –color=auto’
alias fgrep=’fgrep –color=auto’
alias grep=’grep –color=auto’
所以使用的时候默认带高亮参数
如果不想高亮可以 –color=none
-o 是只显示匹配到的字符
[root@localhost tmp]# grep -o “root” /tmp/passwd
root
root
root
root
-i是忽略大小写
[root@localhost tmp]# grep -io “h” /tmp/h1
H
H
h
h
H
h
-v 是忽略匹配到的行
[root@localhost tmp]# grep -v “h” /tmp/h1
HH
如果写-o和 -v 一起
就不会显示东西了
我觉得因为是先显示匹配到的东西,然后再把里面的东西不匹配的显示,因为没有不匹配的,使用就不会显示东西了
-E 允许使用扩展正则表达式
就是egrep
-q 是静默模式
就是说明都不输出
[root@localhost tmp]# grep -q “root” /tmp/passwd
[root@localhost tmp]#
-A #:after 后#行
[root@localhost tmp]# grep -A2 “root” /tmp/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
—
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
后2行一起输出
-B #:before 前#行
[root@localhost tmp]# grep -B2 “root” /tmp/passwd
root:x:0:0:root:/root:/bin/bash
—
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
没有的话,就把–
-C #:前后各#行
[root@localhost tmp]# grep -C2 “root” /tmp/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
—
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
和-A # -B# 一样
[root@localhost tmp]# grep -A2 -B2 “root” /tmp/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
—
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin