そのため、次の行で構成される非常に大きなテキストファイルが2つあります。
最初:
Robert:Dillain:Other:Other:Other
Julian:Brude:Other:Other:Other
Megan:Flikk:Other:Other:Other
Samantha:Minot:Other:Other:Other
Jesus:Kimmel:Other:Other:Other
第二:
Sb:Minot:amsen
Jbb:Kimmel:verlin
R:Dillain:bodent
Mb:Flikk:kentin
Jb:Brude:kemin
私はそれらを一致させたい2列(Dillain、Brudeなど)を次の行に貼り付けます。
出力:
Robert:Dillain:Other:Other:Other:R:Dillain:bodent
Jesus:Kimmel:Other:Other:Other:Jbb:Kimmel:verlin
Samantha:Minot:Other:Other:Other:Sb:Minot:amsen
etc...
etc...
私はsed
それを使用することを検討していますが、Unixベースなら何でもいいでしょう。私はこれを自分で行う方法を見つけることができませんでした。
ベストアンサー1
これはミッションのように聞こえますjoin
。
join -t":" -o "1.1,1.2,1.3,1.4,1.5,2.1,2.2,2.3" \
-j 2 <(sort -k2,2 -t: test1) <(sort -k2,2 -t: test2)
出力:
Julian:Brude:Other:Other:Other:Jb:Brude:kemin
Robert:Dillain:Other:Other:Other:R:Dillain:bodent
Megan:Flikk:Other:Other:Other:Mb:Flikk:kentin
Jesus:Kimmel:Other:Other:Other:Jbb:Kimmel:verlin
Samantha:Minot:Other:Other:Other:Sb:Minot:amsen
分解:
-t
フィールド区切り記号を次のように設定します。:
-o
印刷形式の設定-j
列番号の関連付け2
<(sort -k2,2 -t: file)
-k
2番目の列に基づいてファイルを事前にソートし、-t
フィールド区切り文字を次のように設定します。: