簡體   English   中英

融合第一列的值,當第二列的值在 awk 或 bash 的不同文件中相同時,使用 awk 或 bash

[英]Fuse values from first column, when the values from second column is the same in different files in awk or bash by using awk or bash

我有兩個文件,其中包含兩列。 在第一列的每個文件中,您都有一個 MGD_number,在第二列中,您有一個 SOL_number。 在 File1 中,你有 MGD226-MGD450 在 File2 中,你有 MGD451-MGD675 我想創建一個新文件,其中基於來自不同文件的相同 SOL_number,你將融合來自第二個文件的第一個的 MGD 值(並放入$2) 通過使用 awk 或在 bash 中。 例如,文件 1 中的 MGD226 SOL17 和文件 2 中的 MGD456 SOL81 -> 文件 3 中的 MGD226 MGD456 這是被禁止的:文件 1 中的 MGD251 SOL17 和文件 1 中的 MGD378 SOL81(同一個文件!) -> 文件 3 中的 MGD251 MGD378

這些是我的兩個文件的一部分

文件1輸入

MGD278 SOL51
MGD341 SOL51
MGD412 SOL78
MGD312 SOL78

文件2輸入

MGD489 SOL51
MGD572 SOL51
MGD613 SOL78
MGD684 SOL16

預期輸出文件 3

MGD278 MGD489
MGD278 MGD572
MGD341 MGD489
MGD341 MGD572
MGD412 MGD613
MGD312 MGD613

當我跑步時

join -j 2 file1 file2 | awk '{print $2, $3}' > file3

在上面的文件file1file2上,我得到

MGD278 MGD489
MGD278 MGD572
MGD341 MGD489
MGD341 MGD572
MGD412 MGD613
MGD312 MGD613

file3中,這就是您想要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM