Aşağıdakileri yapmak istiyorum ve birisinin bana şu şekilde yardımcı olması için gerçekten minnettarım:Belirli bir sütuna göre iki dosyanın bash - instersection?
File1.txt ve File2.txt adında 2 tab-delim dosyasına sahibim (aşağıda gösterilmektedir). File1.txt dosyasındaki 2. sütun (integer), File2.txt dosyasının 3. sütununda (tamsayı) bulunursa, , new_File1.txt ve new_File2.txt dosyalarını yapmak ve satırlarını eklemeye devam etmek istiyorum.
file1.txt:
1 80 xyc
1 304 xyv
1 813653 xyb
1 813661 xyn
1 954653 xym
file2.txt:
new_File1.txt:
abvb 1 178
aaa 1 304
ttt 1 353
ggg 1 98971
ghj 1 813653
Yani örneğin benim new_File1.txt gibi görünecektir:
1 304 xyv
1 813653 xyb
new_File2.txt:
aaa 1 304
ghj 1 813653
Yardımlarınız için teşekkür ederiz!
join -1 2 -2 3 -t '\t' file1.txt file2.txt
ama bana şu çıktıyı verir: ben kullandım Sen join(1)
aradığınız
\1 80 xyc\abvb 1 178
\1 80 xyc\aaa 1 304
\1 80 xyc\ttt 1 353
\1 80 xyc\ggg 1 98971
\1 80 xyc\ghj 1 813653
\1 304 xyv\abvb 1 178
\1 304 xyv\aaa 1 304
\1 304 xyv\ttt 1 353
\1 304 xyv\ggg 1 98971
\1 304 xyv\ghj 1 813653
\1 813653 xyb\abvb 1 178
\1 813653 xyb\aaa 1 304
\1 813653 xyb\ttt 1 353
\1 813653 xyb\ggg 1 98971
\1 813653 xyb\ghj 1 813653
\1 813661 xyn\abvb 1 178
\1 813661 xyn\aaa 1 304
\1 813661 xyn\ttt 1 353
\1 813661 xyn\ggg 1 98971
\1 813661 xyn\ghj 1 813653
\1 954653 xym\abvb 1 178
\1 954653 xym\aaa 1 304
\1 954653 xym\ttt 1 353
\1 954653 xym\ggg 1 98971
\1 954653 xym\ghj 1 813653