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

  免費注冊 查看新帖 |

Chinaunix

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

[文本處理] awk關(guān)聯(lián)兩個文件為啥第一個文件取不到值 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-01-02 14:29 |只看該作者 |倒序瀏覽
文件1.txt
P1-B1 77
P1-B2 78

文件2.txt
E6000 P1-B1 4
E6000 P1-B1 5
E6000 P1-B1 6
E6000 P1-B1 7
E6000 P1-B1 8
E6000 P1-B1 9
E6000 P1-B1 10
E6000 P1-B1 11
E6000 P1-B1 12
E6000 P1-B2 4

如果1.txt中的第一列與第二個文件的第二列匹配,輸出2.txt中匹配的行和第一個列中匹配行的地二列,如
E6000 P1-B1 4 77

我awk 'NR==FNR{a[$1]=$2}NR!=FNR{if($2 in a)print $0,a[$1]}' 1.txt 2.txt這樣寫為何輸出結(jié)果里沒有a[$1]的值
#  awk 'NR==FNR{a[$1]=$2}NR!=FNR{if($2 in a)print $0,a[$1]}' 1.txt 2.txt
E6000 P1-B1 4
E6000 P1-B1 5
E6000 P1-B1 6
E6000 P1-B1 7
E6000 P1-B1 8
E6000 P1-B1 9
E6000 P1-B1 10
E6000 P1-B1 11
E6000 P1-B1 12
E6000 P1-B2 4

論壇徽章:
50
15-16賽季CBA聯(lián)賽之廣夏
日期:2018-11-05 09:42:462015年亞冠紀(jì)念徽章
日期:2015-07-23 11:58:122015亞冠之廣州富力
日期:2015-07-07 08:26:172015亞冠之塔什干棉農(nóng)
日期:2015-06-29 09:08:072015年亞洲杯之伊朗
日期:2015-03-08 20:51:012015年迎新春徽章
日期:2015-03-04 09:58:11未羊
日期:2014-10-16 22:41:47處女座
日期:2014-10-16 15:33:33酉雞
日期:2014-03-13 12:54:10巳蛇
日期:2014-03-10 14:39:052015亞冠之德黑蘭石油
日期:2015-07-29 12:46:372015亞冠之德黑蘭石油
日期:2015-08-07 12:54:11
2 [報告]
發(fā)表于 2014-01-02 14:40 |只看該作者
  1. awk 'NR==FNR{a[$1]=$2}NR!=FNR{for(i in a)if($2==i)print $0,a[i]}' 1.txt 2.txt
復(fù)制代碼

論壇徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉雞
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥豬
日期:2014-04-22 16:13:09獅子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53處女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
3 [報告]
發(fā)表于 2014-01-02 14:41 |只看該作者
回復(fù) 1# lnzfm

樓主筆誤,你前面明明用的$2, print時候卻用$1.
  1. awk 'NR==FNR{a[$1]=$2}NR!=FNR{if($2 in a)print $0,a[$2]}' 1.txt 2.txt

  2. E6000 P1-B1 4 77
  3. E6000 P1-B1 5 77
  4. E6000 P1-B1 6 77
  5. E6000 P1-B1 7 77
  6. E6000 P1-B1 8 77
  7. E6000 P1-B1 9 77
  8. E6000 P1-B1 10 77
  9. E6000 P1-B1 11 77
  10. E6000 P1-B1 12 77
  11. E6000 P1-B2 4 78
復(fù)制代碼

論壇徽章:
7
亥豬
日期:2013-10-10 17:00:29辰龍
日期:2013-10-12 16:23:19卯兔
日期:2013-11-18 17:01:27金牛座
日期:2014-09-09 10:17:052015七夕節(jié)徽章
日期:2015-08-21 11:06:172015亞冠之柏太陽神
日期:2015-09-25 13:56:42數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-06 06:20:00
4 [報告]
發(fā)表于 2014-01-02 14:46 |只看該作者
針對兩個文件關(guān)聯(lián),我更喜歡這樣
  1. awk 'NR==FNR{a[$1]=$2;next}{if($2 in a)print $0,a[$2]}' file1 file2
復(fù)制代碼

論壇徽章:
0
5 [報告]
發(fā)表于 2014-01-02 14:52 |只看該作者
是我理解有誤,我以為在NR==FNR里聲明了數(shù)組a[$1],后面就要用a[$1]呢,現(xiàn)在明白了,謝謝大家

論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設(shè)計版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
6 [報告]
發(fā)表于 2014-01-02 14:57 |只看該作者
  1. awk 'NR==FNR{a[$1]=$2;next}$2 in a{print $0,a[$2]}'
復(fù)制代碼

論壇徽章:
1
未羊
日期:2014-01-02 10:31:18
7 [報告]
發(fā)表于 2014-01-02 19:49 |只看該作者
  1. awk 'ARGIND=1{a[$1]=$2}ARGIND=2{if(a[$2])print $0,a[$2]}' 1.txt 2.txt
復(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