linux_高級命令

 

1、Awk是對文本進行格式化的工具,適合處理比較複雜的格式處理

Awk命令格式

Awk[options]’pattern模式{Action動作}’file1,file2….

Awk ‘{print $2,$3}’ access.log  打印第二第三列內容

$1代表第一列,$3代表第三列,默認按空白字符做分割;

Awk ‘{print “my name is:” $2,$3}’ access.log 

打印第二第三列內容拼接內容my name is:222 ,aaa

 

輸入分割符號:默認按空白字符做分割,通過-F選項來執行分隔符;

Awk –F’#’ ‘{print $1}’  test.log

 

輸出分隔符:

Awk –v OFS=”à” ‘{print $2,$3}’ access.log 

 

關係運算模式:

打印 3-5行的數據,輸出第2,3列

面試題:某文件有多列數據,空格隔開,統計第三列單詞,按照單詞出現的次數,做倒敘排列,並展示次數

Awk ‘{print $3}’ demo.log |sort  | uniq –c |sort –rn

展示前三個:

Awk ‘{print $3}’ demo.log |sort  | uniq –c |sort –rn |head -3

 

  1.  sed

Sed[選項][動作]

打印3-5行

Sed –n ‘3,5p’  demo.log

刪除2-4行內容

 

在第一行後新增一行hell word

搜索並打印包含beijing的行

替換beijing 爲nanjing

面試題:某文件有多列數據,空格隔開,按照單詞出現的次數,倒敘展示前5名,並同時展示次數

Sed ‘s/ /\n/g’ demo2.log |sort |uniq –c |sort –rn |head -5  將所有的空格替換爲回車到同一列

 

  1.  Grep主要是做過濾的,查看包含指定字符的行

Grep “Nanjing” demo.log

顯示行號:

Grep –n “Shenzhen”  demo.log

 

顯示匹配字符前後行數據,-Bnn行,-Ann行, -Cnn+n

 

Grep –B2 “shenzen” demo.log  n行信息

Grep –A2 “shenzen” demo.log  n行信息

Grep –C2 “shenzen” demo.log  前、後n行信息

 

 

Grep –W  “shenzen” demo.log  精確匹配

Grep –V  “shenzen” demo.log  不包含某些字符串的行

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章