linux中日志文件查找,根據關鍵字,vi命令,awk和wc


參考: http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856896.html

當時需求:查看系統日志,統計系統的處理時間(從請求進去系統到系統返回)

日志文件: 1.log

開始處理:

1. 將日志中的關鍵行(初始、結束、關鍵節點)打印出來/輸出到文件(后添加:> 2.log):

  cat 1.log | grep key  //根據關鍵字輸出

  cat 1.log | egrep '(start handle)+|(end handle)+'  //根據兩個關鍵字  

如果不能一次查找出來(線程數較多),可以先輸出到文件,再重復根據線程名查找一次。

grep最常用的分組,egrep可以使用更多的正則符號,fgrep可以認為就是不使用正則字符(應該可以這么理解,原文:正則表達式中的元字符表示回其自身的字面意義,不再特殊)。

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"
\ 用於轉義特殊字符

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM