這個標題可能不是自我解釋,但是,我想在比較兩個文件後創建一個文件。比較兩個文件,在第二個文件中打印每個模式的出現
FILE1.TXT
GO:0016020
GO:0043065
GO:0003713
GO:0007090
FILE2.TXT
Gene1 "GO:0016020,GO:0003713"
Gene2 "GO:0016020,GO:0003713,GO:0007090"
Gene3 "GO:0003713"
Output.txt的
GO:0016020 Gene1
GO:0016020 Gene2
GO:0003713 Gene1
GO:0003713 Gene2
GO:0003713 Gene3
GO:0007090 Gene2
基本上我想打印文件1加行的第一列,其中第一列被找到。
我試過這段代碼:
awk 'FNR==NR{a[FNR]=$1; next}{print a[FNR],$1}' File1.txt File2.txt > output.txt
此output.txt看起來是這樣的:
GO:0016020 Gene1
GO:0043065 Gene2
GO:0003713 Gene3
我只得到報道一個實例。
會有人請能夠幫助我
感謝@EdMorton解決方案。當我嘗試代碼時出現錯誤: awk:源代碼行5的語法錯誤源文件tst.awk 上下文是 \t >>>基因[a [i]] [<<< awk:源代碼中的非法聲明第5行源文件tst.awk awk:源代碼行中的非法聲明5源文件tst.awk – Rita
您沒有使用GNU awk 4. *,因爲我聲明此答案是必需的。像任何其他awk一樣,你可以忽略一些有用的功能。 –