亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: awk 去掉某列最后一個(gè)字符 取指定某列方括號(hào)里面的內(nèi)容 [打印本頁(yè)]

作者: skypeleo    時(shí)間: 2014-11-10 09:50
標(biāo)題: awk 去掉某列最后一個(gè)字符 取指定某列方括號(hào)里面的內(nèi)容
2014-11-05 09:39:48: ip[192.168.10.152] logId[281424076]
2014-11-05 09:58:33: ip[192.168.10.152] logId[393876725]
2014-11-05 09:58:33: ip[192.168.10.152] logId[393883438]
2014-11-05 09:58:34: ip[192.168.10.152] logId[394052520]
2014-11-05 09:58:34: ip[192.168.10.152] logId[394057519]

第2列去掉最后一個(gè)冒號(hào), 第3列和第4列取方括號(hào)里面的內(nèi)容

先感謝大家
作者: yestreenstars    時(shí)間: 2014-11-10 09:53
目測(cè)一下先~
  1. [root@localhost ~]# sed -r 's/://3;s/\S+\[([^]]+)\]/\1/g' i
  2. 2014-11-05 09:39:48 192.168.10.152 281424076
  3. 2014-11-05 09:58:33 192.168.10.152 393876725
  4. 2014-11-05 09:58:33 192.168.10.152 393883438
  5. 2014-11-05 09:58:34 192.168.10.152 394052520
  6. 2014-11-05 09:58:34 192.168.10.152 394057519
  7. [root@localhost ~]#
復(fù)制代碼

作者: 關(guān)陰月飛    時(shí)間: 2014-11-10 09:58
本帖最后由 關(guān)陰月飛 于 2014-11-10 10:03 編輯
  1. awk -F '[] []+|: ' '{print $1,$2,$4,$6}'  urfile
  2. awk '{a=gensub(/:/,"",3,$2);split($3,b,"[][]");split($4,c,"[][]");print $1,a,b[2],c[2]}' urfile
復(fù)制代碼

作者: jason680    時(shí)間: 2014-11-10 10:01
本帖最后由 jason680 于 2014-11-10 10:25 編輯

回復(fù) 1# skypeleo

$ awk 'function v(s, r){r=s;if(match(s,/\[([^]]+)\]/,a))r=a[1];return(r)}{sub(/:$/,"",$2);$3=v($3);$4=v($4)}1' FILE
2014-11-05 09:39:48 192.168.10.152 281424076
2014-11-05 09:58:33 192.168.10.152 393876725
2014-11-05 09:58:33 192.168.10.152 393883438
2014-11-05 09:58:34 192.168.10.152 394052520
2014-11-05 09:58:34 192.168.10.152 394057519

   
作者: skypeleo    時(shí)間: 2014-11-10 10:18
  謝謝大家  
作者: tasteoftime_90    時(shí)間: 2014-11-10 10:38
本帖最后由 tasteoftime_90 于 2014-11-10 10:38 編輯
  1. sed -r 's/: ..\[(.+)\] .+\[(.+)\]/ \1 \2/' file
復(fù)制代碼
回復(fù) 1# skypeleo


   
作者: jcdiy0601    時(shí)間: 2014-11-10 11:33
sed
  1. sed 's/: / /;s/ip\[\(.*\)\]/\1/;s/\].*\[/ /' test
復(fù)制代碼
python
  1. #!/usr/bin/env python

  2. import re

  3. file = open('test')
  4. done = 0
  5. while not done:
  6.         line = file.readline()
  7.         if line != '':
  8.                 line = line.strip('\n')
  9.                 this_line_list = line.split(' ')
  10.                 zz1 = re.compile('[0-9]{2}:[0-9]{2}:[0-9]{2}')
  11.                 zz2 = re.compile('[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}')
  12.                 zz3 = re.compile('[0-9]{1,}')
  13.                 pp1 = re.findall(zz1,this_line_list[1])
  14.                 pp2 = re.findall(zz2,this_line_list[2])
  15.                 pp3 = re.findall(zz3,this_line_list[3])
  16.                 print '%s %s %s %s' % (this_line_list[0],pp1[0],pp2[0],pp3[0])
  17.         else:
  18.                 done = 1
  19. file.close()
復(fù)制代碼

作者: zxy877298415    時(shí)間: 2014-11-10 12:49
回復(fù) 1# skypeleo
awk '{print gensub(/(: ip\[)|(ip\[)|(\] logId\[)|(\])/," ","G")}' FILE


   
作者: reyleon    時(shí)間: 2014-11-10 19:01
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-

  3. import fileinput, sys, re
  4. for line in fileinput.input(sys.argv[1]):
  5.     record = re.findall('(\d+-\d+-\d+).*?(\d+:\d+:\d+).*?\[(.*?)\].*?\[(.*?)\]',line)
  6.     print ' '.join(record[0])
復(fù)制代碼





歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2