Untuk bergabung dengan BSD Join


1

Saya ingin bergabung dalam BSD Join.

Data

Model Decreasing Constant Increasing
2025 75.5 82.5 89.5
2035 65.5 82.5 102
2050 49.5 82.5 112

dan konfigurasi kesalahan di ybar

Model Decreasing Constant Increasing
2025 2.5 2.5 2.5
2035 2.5 2.5 5
2050 7.5 7.5 7.5

yang seharusnya

2025 75.5 82.5 89.5 2.5 2.5 2.5
...

Varian Unix join A B tidak bekerja menurut teman saya.

Output dari Head

$ head model1_ave.dat
Year Decreasing Constant Increasing
2025 75.5 82.5 89.5
2035 65.5 82.5 102
2050 49.5 82.5 112
$ head model1_ave_err.dat 
Model Decreasing Constant Increasing
2025 2.5 2.5 2.5
2035 2.5 2.5 5
2050 7.5 7.5 7.5

Bagaimana Anda bisa menggabungkan dua file di OSX Join i.e BSD?


Bekerja untuk saya dengan file-file ini. Apakah Anda yakin akhir barisnya seperti unix dan bukan gaya DOS (DOS / Windows menghasilkan file dengan CR + LF pada akhirnya, alat unix lebih memilih LF)?
nohillside

join -1 1 -2 1 <(grep -v Year model1_ave.dat) <(grep -v Model model1_ave_err.dat) bekerja :-)
nohillside

Jawaban:


1

join bekerja untuk saya di sini:

pse@Mithos:~/t$ join -1 1 -2 1 t1 t2
Model Decreasing Constant Increasing Decreasing Constant Increasing
2025 75.5 82.5 89.5 2.5 2.5 2.5
2035 65.5 82.5 102 2.5 2.5 5
2050 49.5 82.5 112 7.5 7.5 7.5

Jika ada baris header yang tidak cocok di setiap file, Anda harus menyingkirkannya terlebih dahulu, jika tidak bergabung akan gagal.

pse@Mithos:~/t$ join -1 1 -2 1 <(grep -v Year t1) <(grep -v Model t2)
2025 75.5 82.5 89.5 2.5 2.5 2.5
2035 65.5 82.5 102 2.5 2.5 5
2050 49.5 82.5 112 7.5 7.5 7.5

Terima kasih atas tambahan Anda! Begitu join mempertimbangkan header dalam melakukan bergabung.
Léo Léopold Hertz 준영

join tidak tahu tentang tajuk di awal, hanya menggabungkan (atau mencoba) baris teks
nohillside

Jadi parameternya -1 1 dan -2 1 memberitahu untuk join yang menggunakan kolom pertama dalam file sebagai titik pivot jika mereka sama. Ketika mereka tidak sama, tidak ada yang keluar.
Léo Léopold Hertz 준영
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.