linux中⽇志⽂件查,根据关键字,vi命令,awk和wc
当时需求:查看系统⽇志,统计系统的处理时间(从请求进去系统到系统返回)
⽇志⽂件: 1.log
开始处理:
1. 将⽇志中的关键⾏(初始、结束、关键节点)打印出来/输出到⽂件(后添加:>
2.log):
  cat 1.log | grep key  //根据关键字输出
  cat 1.log | egrep '(start handle)+|(end handle)+'  //根据两个关键字
如果不能⼀次查出来(线程数较多),可以先输出到⽂件,再重复根据线程名查⼀次。
grep最常⽤的分组,egrep可以使⽤更多的正则符号,fgrep可以认为就是不使⽤正则字符(应该可以这么理解,原⽂:正则表达式中的元字符表⽰回其⾃⾝的字⾯意义,不再特殊)。
linux使用vim编辑文件cat 1.log | grep key  可以写为: grep key 1.log  ,同理。
awk和wc命令
ps -ef | grep java | awk '{print $2}'  : 可以显⽰出所有Java进程的pid,
awk中可以默认使⽤空⽩分隔符,可以使⽤awk -F,指定分隔符,其中$2就是分割后输出第⼆个字符串,
ps -ef | grep java | awk '{print $2}' | wc -l  : 可以统计当前⼀共有多少Java进程
wc中-c 统计字节数,-l 统计⾏数,-m 统计字符数,这个标志不能与 -c 标志⼀起使⽤,-w 统计字数。⼀个字被定义为由空⽩、跳格或换⾏字符分隔的字符串。
  -L 打印最长⾏的长度。
VI中
//以下删除命令好多都是剪贴,删除应该就是剪贴吧。。
Ctrl+u:向⽂件⾸翻半屏;
Ctrl+d:向⽂件尾翻半屏;
Ctrl+f:向⽂件尾翻⼀屏;
Ctrl+b:向⽂件⾸翻⼀屏;
Esc:从编辑模式切换到命令模式;
ZZ:命令模式下保存当前⽂件所做的修改后退出vi;
:⾏号:光标跳转到指定⾏的⾏⾸;
:$:光标跳转到最后⼀⾏的⾏⾸;
x或X:删除⼀个字符,x删除光标后的,⽽X删除光标前的;
D:删除从当前光标到光标所在⾏尾的全部字符;
dd:删除光标⾏正⾏内容;
ndd:删除当前⾏及其后n-1⾏;
nyy:将当前⾏及其下n⾏的内容保存到寄存器?中,其中?为⼀个字母,n为⼀个数字;
p:粘贴⽂本操作,⽤于将缓存区的内容粘贴到当前光标所在位置的下⽅;
P:粘贴⽂本操作,⽤于将缓存区的内容粘贴到当前光标所在位置的上⽅;
/字符串:⽂本查操作,⽤于从当前光标所在位置开始向⽂件尾部查指定字符串的内容,查的字符串会被加亮显⽰;
name:⽂本查操作,⽤于从当前光标所在位置开始向⽂件头部查指定字符串的内容,查的字符串会被加亮显⽰;
a,bs/F/T:替换⽂本操作,⽤于在第a⾏到第b⾏之间,将F字符串换成T字符串。其中,“s/”表⽰进⾏替换操作;
a:在当前字符后添加⽂本;
A:在⾏末添加⽂本;
i:在当前字符前插⼊⽂本;
I:在⾏⾸插⼊⽂本;
o:在当前⾏后⾯插⼊⼀空⾏;
O:在当前⾏前⾯插⼊⼀空⾏;
:wq:在命令模式下,执⾏存盘退出操作;
:w:在命令模式下,执⾏存盘操作;
:w!:在命令模式下,执⾏强制存盘操作;
:q:在命令模式下,执⾏退出vi操作;
:q!:在命令模式下,执⾏强制退出vi操作;
:e⽂件名:在命令模式下,打开并编辑指定名称的⽂件;
:n:在命令模式下,如果同时打开多个⽂件,则继续编辑下⼀个⽂件;
:f:在命令模式下,⽤于显⽰当前的⽂件名、光标所在⾏的⾏号以及显⽰⽐例;
:set number:在命令模式下,⽤于在最左端显⽰⾏号;
:
set nonumber:在命令模式下,⽤于在最左端不显⽰⾏号;
1,3 co 4 将1-3⾏复制到4⾏之后
set nu 显⽰⾏数
nu 查看⾏数
u 撤销
U 撤销,撤销上⼀次撤销,就是撤销/恢复重复
gg 光标移动到第⼀⾏
G 光标到最后⼀⾏
1/2/3 任意数字,光标到指定数字⾏
"zz"命令会把当前⾏置为屏幕正中央,"zt"命令会把当前⾏置于屏幕顶端,"zb"则把当前⾏置于屏幕底端.
搜索: "?"命令与"/"的⼯作相同,只是搜索⽅向相反.n下⼀次出现的位置,"N"命令会重复前⼀次查,但是与最初⽤"/"或"?"指定的搜索⽅向相反。
如果查内容忽略⼤⼩写,则⽤命令"set ignorecase", 返回精确匹配⽤命令"set noignorecase"
\ ⽤于转义特殊字符

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。