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

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2170 | 回復(fù): 7
打印 上一主題 下一主題

[文本處理] 急,如何去掉日志指定列中的空格 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-10-08 18:43 |只看該作者 |倒序?yàn)g覽
從web的日志中取數(shù)時(shí),因?yàn)楦鞣N原因,導(dǎo)致日志的列中有一些空格,有的是一個(gè)空格,有的是多個(gè)空格

如下面的b.txt
網(wǎng)址|ip|時(shí)間
163.com|21.10.12.22 |17:10
163.com@12a|21.10.12.22  |17:10
163.com|21.10.12.22|17:10
163.com |21.10.12.22 |17:10
163.com |21.10.12.22|17:10
163.com  |21.10.12.22|17:10

    1、想要的結(jié)果是有多少個(gè)ip,我是這樣的:awk -F'|' '{if(!a[$2]++) ++b}END{print b}' b.txt
結(jié)果是3,但我知道結(jié)果應(yīng)該是1,因?yàn)榈诙杏锌崭,有時(shí)是一個(gè),有時(shí)是多個(gè)空格,
請(qǐng)教下這個(gè)去掉空格的操作(相當(dāng)于trim())的shell是怎么寫的,要去掉前后多個(gè)空格

2、對(duì)第一列和第二列去掉空格,然后計(jì)算每個(gè)ip下去重的網(wǎng)址有多少(計(jì)算時(shí)要去掉結(jié)尾“@12a”,比如163.com@12a,去掉后是163.com)
  想要的結(jié)果是21.10.12.22|1

論壇徽章:
54
2015亞冠之德黑蘭石油
日期:2015-07-07 13:00:1615-16賽季CBA聯(lián)賽之深圳
日期:2016-03-31 09:03:5415-16賽季CBA聯(lián)賽之遼寧
日期:2016-05-09 20:38:15程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-05-12 06:20:0015-16賽季CBA聯(lián)賽之四川
日期:2016-05-13 15:19:4715-16賽季CBA聯(lián)賽之福建
日期:2016-05-15 20:24:34每日論壇發(fā)貼之星
日期:2016-05-16 06:20:0015-16賽季CBA聯(lián)賽之吉林
日期:2016-05-26 11:49:4715-16賽季CBA聯(lián)賽之廣東
日期:2016-05-26 13:49:18極客徽章
日期:2016-12-07 14:05:2315-16賽季CBA聯(lián)賽之廣夏
日期:2016-12-20 17:33:532017金雞報(bào)曉
日期:2017-01-10 15:19:56
2 [報(bào)告]
發(fā)表于 2015-10-08 19:19 |只看該作者
  1. awk -F '|' '{gsub(" ","");sub("@.*$","",$1);!a[$1$2]}END{print length(a)}' a  
復(fù)制代碼

論壇徽章:
16
CU十二周年紀(jì)念徽章
日期:2013-10-24 15:41:3415-16賽季CBA聯(lián)賽之廣東
日期:2015-12-23 21:21:55青銅圣斗士
日期:2015-12-05 10:35:30黃金圣斗士
日期:2015-11-26 20:42:16神斗士
日期:2015-11-19 12:47:50每日論壇發(fā)貼之星
日期:2015-11-18 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-11-18 06:20:002015亞冠之城南
日期:2015-11-10 19:10:492015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-10-28 18:47:282015亞冠之柏太陽神
日期:2015-08-30 17:21:492015亞冠之山東魯能
日期:2015-07-07 18:48:39摩羯座
日期:2014-08-29 23:01:42
3 [報(bào)告]
發(fā)表于 2015-10-08 20:24 |只看該作者
  1. awk -F '|' '{a=gsub(/\s+/,"",$2);if (!b[$2]++) c++}END{print c}' file
復(fù)制代碼

論壇徽章:
145
技術(shù)圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
4 [報(bào)告]
發(fā)表于 2015-10-08 20:47 |只看該作者
回復(fù) 1# wzl189189

What You Want Is What You Code(WYWIWYC)

>> 有時(shí)是一個(gè),有時(shí)是多個(gè)空格...
163.com |21.10.12.22 |17:10


$ awk -F'[ \t]*\\|[ \t]*' '{print "<"$1">,<"$2">,<"$3">"}' b.txt
<網(wǎng)址>,<ip>,<時(shí)間>
<163.com>,<21.10.12.22>,<17:10>
<163.com@12a>,<21.10.12.22>,<17:10>
<163.com>,<21.10.12.22>,<17:10>
<163.com>,<21.10.12.22>,<17:10>
<163.com>,<21.10.12.22>,<17:10>
<163.com>,<21.10.12.22>,<17:10>


>> ...去掉結(jié)尾“@12a”...

$ awk -F'[ \t]*\\|[ \t]*' '{sub(/@.*$/,"",$1);print "<"$1">,<"$2">,<"$3">"}' b.txt
<網(wǎng)址>,<ip>,<時(shí)間>
<163.com>,<21.10.12.22>,<17:10>
<163.com>,<21.10.12.22>,<17:10>
<163.com>,<21.10.12.22>,<17:10>
<163.com>,<21.10.12.22>,<17:10>
<163.com>,<21.10.12.22>,<17:10>
<163.com>,<21.10.12.22>,<17:10>

   

論壇徽章:
16
CU十二周年紀(jì)念徽章
日期:2013-10-24 15:41:3415-16賽季CBA聯(lián)賽之廣東
日期:2015-12-23 21:21:55青銅圣斗士
日期:2015-12-05 10:35:30黃金圣斗士
日期:2015-11-26 20:42:16神斗士
日期:2015-11-19 12:47:50每日論壇發(fā)貼之星
日期:2015-11-18 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-11-18 06:20:002015亞冠之城南
日期:2015-11-10 19:10:492015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-10-28 18:47:282015亞冠之柏太陽神
日期:2015-08-30 17:21:492015亞冠之山東魯能
日期:2015-07-07 18:48:39摩羯座
日期:2014-08-29 23:01:42
5 [報(bào)告]
發(fā)表于 2015-10-08 20:57 |只看該作者
  1. awk -F '|' '{gsub(/\s+/,"",$2);gsub(/\s+/,"",$1);split($1,a,/@/);if(!b[$2";"a[1]])b[$2";"a[1]]++}END{for (c in b){split(c,a,";");d[a[1]] += b[c]} for (c in d){print c"|"d[c]}}' file
復(fù)制代碼

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2015-10-09 12:30 |只看該作者
回復(fù) 2# haooooaaa

sub("@.*$","",$1);  --------    替換時(shí) ,為啥是“@.*$" , 為什么不是”@*$" 啊,即為什么要加個(gè)”."


   

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2015-10-09 16:17 |只看該作者
回復(fù) 4# jason680

{sub(/@.*$/,"",$1);================  誠心請(qǐng)教,@后有個(gè)”." ,這個(gè)是什么語法? 我看了好久沒有找到啊
   

論壇徽章:
145
技術(shù)圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
8 [報(bào)告]
發(fā)表于 2015-10-09 16:28 |只看該作者
回復(fù) 7# wzl189189

正則 Regular Expression(RE)


http://72891.cn/thread-218853-1-1.html
shell 十三問?
Part-II: Regular Expression
   
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP