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

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 3139 | 回復: 13
打印 上一主題 下一主題

[文本處理] 急,在線等,關于求正則匹配的問題 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2015-10-20 15:12 |只看該作者 |倒序瀏覽
有個文本每行是tab鍵做分隔符  a.txt
2015 1391 312312 a
2015 1331312312   a(這個電話號碼后是有數(shù)字,這里被空格代替了)
2014 13912312312 b
2014 18912313912 c
2015 13312F12312 d
2015 FF312F12312 e
2015 13312312312 f
2016 13318918912 g
2015 13012312312 h

1、找出第二列133,189,139 開頭的電話號碼

2014 13912312312 b
2014 18912313912 c
2015 13312312312 f
2016 13318918912 g
2015 13012312312 h

2、找出第二列133,189,139開頭的,并且號碼中有空格的
2015 1391 312312 a
2015 1331312312   a

3、  awk '$2 ~/^139{8}/' a.txt
我用這個找出139開頭的并且后面跟8位,試了好久都是錯的。

論壇徽章:
23
15-16賽季CBA聯(lián)賽之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午馬
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16賽季CBA聯(lián)賽之山東
日期:2017-12-21 16:39:1915-16賽季CBA聯(lián)賽之廣東
日期:2016-01-19 13:33:372015亞冠之山東魯能
日期:2015-10-13 09:39:062015亞冠之西悉尼流浪者
日期:2015-09-21 08:27:57
2 [報告]
發(fā)表于 2015-10-20 15:16 |只看該作者
回復 1# wzl189189


awk --posix '$2 ~/^139{8}/' a.txt


r{n,m}     One  or two numbers inside braces denote an interval expression.  If there is one number in the braces, the preceding regu-
                  lar expression r is repeated n times.  If there are two numbers separated by a comma, r is repeated n to m times.  If there
                  is one number followed by a comma, then r is repeated at least n times.
                  Interval expressions are only available if either --posix or --re-interval is specified on the command line.

論壇徽章:
307
程序設計版塊每周發(fā)帖之星
日期:2016-04-08 00:41:33操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-09-02 06:20:00每日論壇發(fā)貼之星
日期:2015-09-02 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-04 06:20:00每日論壇發(fā)貼之星
日期:2015-09-04 06:20:00每周論壇發(fā)貼之星
日期:2015-09-06 22:22:00程序設計版塊每日發(fā)帖之星
日期:2015-09-09 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-19 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-20 06:20:00每日論壇發(fā)貼之星
日期:2015-09-20 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-22 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-09-24 06:20:00
3 [報告]
發(fā)表于 2015-10-20 15:37 |只看該作者
本帖最后由 sunzhiguolu 于 2015-10-20 15:50 編輯

回復 1# wzl189189
抱歉, 我的代碼對 awk 沒有什么幫助. 還是參考樓上大神的吧.

論壇徽章:
0
4 [報告]
發(fā)表于 2015-10-20 16:13 |只看該作者
回復 2# ly5066113

1、找出第二列133,189,139 開頭的電話號碼

2014 13912312312 b
2014 18912313912 c
2015 13312312312 f
2016 13318918912 g
2015 13012312312 h

2、找出第二列133,189,139開頭的,并且號碼中有空格的
2015 1391 312312 a
2015 1331312312   a


   這2個腳本如何寫?
   

論壇徽章:
0
5 [報告]
發(fā)表于 2015-10-20 16:14 |只看該作者
回復 2# ly5066113


    你寫的這個語句是錯的

論壇徽章:
84
每日論壇發(fā)貼之星
日期:2015-12-29 06:20:00每日論壇發(fā)貼之星
日期:2016-01-16 06:20:00每周論壇發(fā)貼之星
日期:2016-01-17 22:22:00程序設計版塊每日發(fā)帖之星
日期:2016-01-20 06:20:00每日論壇發(fā)貼之星
日期:2016-01-20 06:20:00程序設計版塊每日發(fā)帖之星
日期:2016-01-21 06:20:00每日論壇發(fā)貼之星
日期:2016-01-21 06:20:00程序設計版塊每日發(fā)帖之星
日期:2016-01-23 06:20:00程序設計版塊每日發(fā)帖之星
日期:2016-01-31 06:20:00數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2016-01-16 06:20:00程序設計版塊每日發(fā)帖之星
日期:2016-01-16 06:20:00程序設計版塊每日發(fā)帖之星
日期:2016-01-14 06:20:00
6 [報告]
發(fā)表于 2015-10-20 16:58 |只看該作者
1. awk '$2 ~ /^(133|189|139)/ {print $2} ' k.txt

2. 先刪除號碼里的空格,再過濾
    awk '{n=""; for(i=2;i<NF;i++) {n=sprintf("%s%s", n, $i)} print $1, n, $NF;}' k.txt |
        awk '$2 ~ /^(133|189|139)/ {print $2} '

論壇徽章:
0
7 [報告]
發(fā)表于 2015-10-20 17:17 |只看該作者
回復 6# yjh777

  謝謝,不過你第一個語句是錯誤的,因為第5行 13312F12312  ,這中間有個“F”,所以要判斷后面全是數(shù)字,并且手機號碼是11位的。

   

論壇徽章:
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程序設計版塊每日發(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金雞報曉
日期:2017-01-10 15:19:56
8 [報告]
發(fā)表于 2015-10-20 17:19 |只看該作者
本帖最后由 haooooaaa 于 2015-10-20 17:20 編輯
  1. awk -F '\t' '$2~/^1(39|33|89)[0-9]{8}/{print $2}' a

  2. awk -F '\t' '$2~/^1(39|33|89)[0-9 ]{8}/&&$2~/ /{print $2}' a
復制代碼

論壇徽章:
84
每日論壇發(fā)貼之星
日期:2015-12-29 06:20:00每日論壇發(fā)貼之星
日期:2016-01-16 06:20:00每周論壇發(fā)貼之星
日期:2016-01-17 22:22:00程序設計版塊每日發(fā)帖之星
日期:2016-01-20 06:20:00每日論壇發(fā)貼之星
日期:2016-01-20 06:20:00程序設計版塊每日發(fā)帖之星
日期:2016-01-21 06:20:00每日論壇發(fā)貼之星
日期:2016-01-21 06:20:00程序設計版塊每日發(fā)帖之星
日期:2016-01-23 06:20:00程序設計版塊每日發(fā)帖之星
日期:2016-01-31 06:20:00數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2016-01-16 06:20:00程序設計版塊每日發(fā)帖之星
日期:2016-01-16 06:20:00程序設計版塊每日發(fā)帖之星
日期:2016-01-14 06:20:00
9 [報告]
發(fā)表于 2015-10-20 17:20 |只看該作者
wzl189189 發(fā)表于 2015-10-20 17:17
回復 6# yjh777

  謝謝,不過你第一個語句是錯誤的,因為第5行 13312F12312  ,這中間有個“F”,所以要 ...


嗯,我看的4樓的兩個;沒注意第一段
    思路一樣的,把$2先處理一下把非數(shù)字去掉,自己試試吧

論壇徽章:
0
10 [報告]
發(fā)表于 2015-10-20 17:28 |只看該作者
回復 8# haooooaaa


    謝謝,不過你寫的是錯的
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP