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

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

Chinaunix

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

求幫忙 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-12-17 21:12 |只看該作者 |倒序?yàn)g覽
我是要處理兩個(gè)文件,命令寫得不對,一直有問題:

      awk 'NR==FNR{a=$1;b=$2}NR>FNR{if($1 eq b) print a"\t"$0}' ncbi_forann.txt refseq_id.txt > t.txt

       ncbi_forann.txt和refseq_id.txt 是要處理的兩個(gè)文件,若ncbi_forann.txt文件的第二列有出現(xiàn)在文件refseq_id.txt 的第一列里,則輸出refseq_id.txt 對應(yīng)行的內(nèi)容,當(dāng)然,在前面要先輸出a(ncbi_forann.txt的第一列)

      我的運(yùn)行結(jié)果很奇怪,自己不知道哪里錯(cuò)了。
     
    而且,想進(jìn)一步改進(jìn)結(jié)果,只輸出a 、b、refseq_id.txt 滿足要求的行從第二列開始的內(nèi)容,是這樣的:

       第一列(a) \t  第二列(b) \t 其他列(來自refseq_id.txt 滿足要求的行從第二列開始的內(nèi)容,這些列用空格即可,源文件是空格)

      有點(diǎn)繁瑣啊,命令里的$0是refseq_id.txt文件 的所有列,因?yàn)椴欢畬懳蚁胍慕Y(jié)果,就這樣放著了
    還請大蝦們幫忙一下!謝謝了

論壇徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-03 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-04 06:20:00
2 [報(bào)告]
發(fā)表于 2011-12-17 22:22 |只看該作者
我是要處理兩個(gè)文件,命令寫得不對,一直有問題:

      awk 'NR==FNR{a=$1;b=$2}NR>FNR{if($1 eq b) pr ...
linaiting 發(fā)表于 2011-12-17 21:12



    NR==FNR{a=$1;b=$2}
的作用是把第一個(gè)文件的最后一行的第一個(gè)字段賦給a,第二個(gè)字段賦給b.
第一個(gè)文件前面的內(nèi)容一概不管
你確信你要這樣做?

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2011-12-17 22:57 |只看該作者
awk 'FNR==NR{a[$2]=$1;next}{if($1 in a){$1=a[$1];print}}'  ncbi_forann.txt refseq_id.txt

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2011-12-17 22:59 |只看該作者

    NR==FNR{a=$1;b=$2}
的作用是把第一個(gè)文件的最后一行的第一個(gè)字段賦給a,第二個(gè)字段賦給b.
第 ...
cjaizss 發(fā)表于 2011-12-17 22:22



    不是,整個(gè)文件從第一行開始處理,我知道代碼錯(cuò)了,但不知道該添加什么

論壇徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-03 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-04 06:20:00
5 [報(bào)告]
發(fā)表于 2011-12-17 23:02 |只看該作者
不是,整個(gè)文件從第一行開始處理,我知道代碼錯(cuò)了,但不知道該添加什么
linaiting 發(fā)表于 2011-12-17 22:59



    就如同三樓做的那樣,你需要的不是單個(gè)變量,而是依次把第一個(gè)文件的內(nèi)容放入數(shù)組中,
    awk下數(shù)組是一個(gè)散列表,你可以用(i in a)這樣的表達(dá)式判斷a是否有下標(biāo)為i的組元

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2011-12-17 23:09 |只看該作者
就如同三樓做的那樣,你需要的不是單個(gè)變量,而是依次把第一個(gè)文件的內(nèi)容放入數(shù)組中,
    awk下數(shù) ...
cjaizss 發(fā)表于 2011-12-17 23:02



    噢,明白了,若想改進(jìn)輸出結(jié)果呢?你看看我給小毛孩的回復(fù)

論壇徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-03 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-04 06:20:00
7 [報(bào)告]
發(fā)表于 2011-12-17 23:17 |只看該作者
很感謝你啊,我想再改進(jìn)一下,若想輸出結(jié)果按第一列排好序,并且該列與后面的列之間用tab鍵隔開, ...
linaiting 發(fā)表于 2011-12-17 23:06



    awk里面,有個(gè)函數(shù)叫sort是用來排序內(nèi)容的,asorti用下標(biāo)來排序.
    或者自己man一下awk,然后自己試下可以搞定與否呢

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2011-12-17 23:24 |只看該作者
awk 'FNR==NR{a[$2]=$1;next}{if($1 in a){out=a[$1]"\t";for(i=2;i<NF;i++)out=out""$i"  ";print  out$NF}}'  ncbi_forann.txt refseq_id.txt | sort -k1,1

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2011-12-17 23:31 |只看該作者
awk里面,有個(gè)函數(shù)叫sort是用來排序內(nèi)容的,asorti用下標(biāo)來排序.
    或者自己man一下awk,然后自己 ...
cjaizss 發(fā)表于 2011-12-17 23:17



    嗯嗯,謝謝指點(diǎn)啊!我第一次見到asorti,是該多學(xué)學(xué)

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2011-12-17 23:45 |只看該作者
awk 'FNR==NR{a[$2]=$1;next}{if($1 in a){out=a[$1]"\t";for(i=2;i
lkk2003rty 發(fā)表于 2011-12-17 23:24



    真的是太感謝你了, 無法用言語來形容
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP