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

  免費注冊 查看新帖 |

Chinaunix

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

[文本處理] awk或perl怎么提取在某一動態(tài)范圍內(nèi)的文本信息? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2015-01-16 14:27 |只看該作者 |倒序瀏覽
如題,

假如文件A是這樣:                       文件B:
chr1   223     367                       chr1   234     257     aa
chr1   455     772                       chr1   450     458     bb
chr1   8889   10022                   chr2   12       23       cc
chr2   11       666                      chr3   2301   2323    dd
chr2   769     1231                     ............
chr3   1765   2319
..........

現(xiàn)在想將B文件中兩個數(shù)字的范圍都包含在A文件中的那行提取出來,并且第一列標識符要對應(yīng),chr1在A文件里chr1的數(shù)字范圍內(nèi)找,chr2找chr2的,

上面舉例中只有chr1   234     257     aa  可以被提取出來
                    chr2   12       23      cc

跨越了范圍就不算,像B文件中第二行 450     458,就不算在A文件455     772的范圍內(nèi)

求大神支招!

論壇徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序設(shè)計版塊每日發(fā)帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序設(shè)計版塊每日發(fā)帖之星
日期:2016-06-12 06:20:002016科比退役紀念章
日期:2016-05-31 15:47:20CU十四周年紀念徽章
日期:2016-05-27 12:24:562015年亞洲杯之阿曼
日期:2015-05-03 21:01:352015年辭舊歲徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序設(shè)計版塊每日發(fā)帖之星
日期:2016-08-11 06:20:00
2 [報告]
發(fā)表于 2015-01-16 15:40 |只看該作者
  1.         awk 'NR==FNR{
  2.                         arr1[$1]++;
  3.                         arr2[$1","arr1[$1]",min"]=$2;
  4.                         arr2[$1","arr1[$1]",max"]=$3;
  5.                         next;
  6.         }
  7.         ($1 in arr1){

  8.                 for(i=1; i<=arr1[$1]; i++) {
  9.                         if(($2 >= arr2[$1","i",min"] && $2 <= arr2[$1","i",max"]) && \
  10.                                         ($3 >= arr2[$1","i",min"] && $3 <= arr2[$1","i",max"]) \
  11.                                 )
  12.                                 print;
  13.                 }
  14.         }
  15.         END{
  16.                        
  17.         }' A.txt B.txt
復(fù)制代碼
huangdongcong 該用戶已被刪除
3 [報告]
發(fā)表于 2015-01-16 15:46 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽

論壇徽章:
0
4 [報告]
發(fā)表于 2015-01-16 21:44 |只看該作者
謝謝!!回復(fù) 2# liion631818


   

論壇徽章:
14
15-16賽季CBA聯(lián)賽之遼寧
日期:2019-06-16 15:47:3515-16賽季CBA聯(lián)賽之廣夏
日期:2016-08-13 21:24:352015亞冠之武里南聯(lián)
日期:2015-07-07 17:37:372015亞冠之薩濟拖拉機
日期:2015-07-06 17:07:482015亞冠之全北現(xiàn)代
日期:2015-06-04 13:54:272015亞冠之城南
日期:2015-05-21 15:43:212015年亞洲杯之伊朗
日期:2015-04-25 18:20:362015年亞洲杯之伊朗
日期:2015-04-20 16:06:052015年亞洲杯之科威特
日期:2015-03-07 12:51:26丑牛
日期:2014-12-30 10:26:38申猴
日期:2014-09-28 22:40:18金牛座
日期:2014-09-13 21:12:22
5 [報告]
發(fā)表于 2015-01-16 22:28 |只看該作者
  1. py練習(xí)

  2. #!/usr/bin/env  python


  3. d1={}
  4. with open('11') as f:
  5.         for lines in f:
  6.                 l=lines.strip().split()
  7.                 d1.setdefault(l[0],[]).append(l[1:])


  8. with open('12') as f:
  9.         for lines in f:
  10.                 l=lines.strip().split()
  11.                 for k,v in d1.items():
  12.                         for n in v:
  13.                                 if (k==l[0]) and (l[1]>n[0]) and (l[2]<n[1]):
  14.                                         print lines,

  15. 結(jié)果:
  16. chr1 234 257 aa
  17. chr2 12 23 cc
復(fù)制代碼

論壇徽章:
30
申猴
日期:2014-04-10 09:43:532015年亞洲杯紀念徽章
日期:2015-03-20 14:40:232015亞冠之阿爾納斯爾
日期:2015-06-02 18:59:042015亞冠之阿爾希拉爾
日期:2015-06-30 15:22:572015亞冠之大阪鋼巴
日期:2015-07-20 10:44:332015亞冠之阿爾納斯爾
日期:2015-10-28 14:57:5215-16賽季CBA聯(lián)賽之新疆
日期:2015-12-25 10:18:45黑曼巴
日期:2016-06-26 21:39:5315-16賽季CBA聯(lián)賽之山西
日期:2016-07-25 21:54:2715-16賽季CBA聯(lián)賽之北京
日期:2016-10-27 12:07:2315-16賽季CBA聯(lián)賽之八一
日期:2017-07-07 16:39:0915-16賽季CBA聯(lián)賽之吉林
日期:2017-09-04 12:14:43
6 [報告]
發(fā)表于 2015-01-16 23:10 |只看該作者
  1. awk 'FNR==NR{a[$1]=a[$1]?a[$1]"#"$0:$0;b[$1]++;next}{split(a[$1],c,"#");for(i=1;i<=b[$1];i++){split(c[i],d," ");
  2. > if(($1==d[1])&&($2<d[2])&&($3>d[3])) {print d[1]"\t"d[2]"\t"d[3]"\t"d[4]}}}' file2 file1
  3. chr1    234     257     aa
  4. chr2    12      23      cc
復(fù)制代碼
回復(fù) 1# xunong


   

論壇徽章:
9
2015亞冠之大阪鋼巴
日期:2015-06-04 11:47:30丑牛
日期:2015-01-22 15:49:26巳蛇
日期:2015-01-22 10:11:18巨蟹座
日期:2014-11-20 10:55:03天蝎座
日期:2014-11-16 22:10:26處女座
日期:2014-11-16 11:01:10申猴
日期:2014-09-19 11:12:37雙魚座
日期:2014-07-25 10:09:54程序設(shè)計版塊每日發(fā)帖之星
日期:2015-08-24 06:20:00
7 [報告]
發(fā)表于 2015-01-19 16:39 |只看該作者
回復(fù) 1# xunong
  1. awk 'NR==FNR{a[NR]=$1;b[NR]=$2;c[NR]=$0;d[NR]=$3;next}{for(i in a)if(a[i]==$1&&b[i]>$2&&d[i]<$3) print c[i]}' file2 file1
復(fù)制代碼

論壇徽章:
9
2015亞冠之大阪鋼巴
日期:2015-06-04 11:47:30丑牛
日期:2015-01-22 15:49:26巳蛇
日期:2015-01-22 10:11:18巨蟹座
日期:2014-11-20 10:55:03天蝎座
日期:2014-11-16 22:10:26處女座
日期:2014-11-16 11:01:10申猴
日期:2014-09-19 11:12:37雙魚座
日期:2014-07-25 10:09:54程序設(shè)計版塊每日發(fā)帖之星
日期:2015-08-24 06:20:00
8 [報告]
發(fā)表于 2015-01-19 16:39 |只看該作者
哈哈哈哈哈, 我寫的好蠢

論壇徽章:
0
9 [報告]
發(fā)表于 2015-01-23 11:38 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽

論壇徽章:
20
卯兔
日期:2015-01-26 22:05:142015亞冠之薩濟拖拉機
日期:2015-09-10 15:15:282015亞冠之阿爾希拉爾
日期:2015-09-25 17:37:53程序設(shè)計版塊每日發(fā)帖之星
日期:2015-10-03 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-12-09 06:20:00CU十四周年紀念徽章
日期:2015-12-17 09:07:15程序設(shè)計版塊每日發(fā)帖之星
日期:2015-12-25 06:20:34程序設(shè)計版塊每日發(fā)帖之星
日期:2015-12-25 06:20:34程序設(shè)計版塊每日發(fā)帖之星
日期:2015-12-25 06:20:342015亞冠之廣州富力
日期:2015-08-27 19:29:56每日論壇發(fā)貼之星
日期:2015-08-26 06:20:002015亞冠之阿爾希拉爾
日期:2015-05-18 17:26:27
10 [報告]
發(fā)表于 2015-01-26 13:02 |只看該作者
  1. awk 'FNR==NR{a[$0]=$0}FNR!=NR{for(s in a){split(s,b," ");if($1==b[1]&&$2>=b[2]&&$3<=b[3]){print;next}}}' A B
復(fù)制代碼
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP