GNU/Linux >> Belajar Linux >  >> Linux

Linux – Menggabungkan Dua File Terurut Memberikan Error:Join::112855:Is Not Sorted:?

Saya ingin menggabungkan variabel dari satu file ke file lain di linux.
Variabel pertama berisi nama tempat saya ingin menggabungkan file.

Saya telah mengurutkan kedua file menggunakan -f dan -k:
sort -f -k 1,1 SCZ.N.tmp> SCZ.N.tmp.sorted dan sort -f -k 1,1 1kg.tmp > 1kG.ref_file.sorted

Namun, ketika saya menggabungkan kedua file dengan perintah ini:join -1 1 -2 1 SCZ.N.tmp.sorted 1kG.ref_file.sorted> SCZ.freq.joined

Saya terus mendapatkan kesalahan 'join:SCZ.N.tmp.sorted:112855:is not sorted:chr1_100002155_D D I6 0.995112 0.0184 0.7897 87016 ' Namun demikian, bergabung terus dan mayoritas digabung. Namun, saya tidak yakin apakah saya kehilangan sebagian kecil kasus karena ketidakcocokan antara file, atau karena ada yang salah dengan pengurutan file ini.

Apakah ada yang tahu apa yang saya lakukan salah? Dan apa yang bisa saya lakukan untuk tidak mendapatkan kesalahan ini?
Terima kasih!

Saya juga telah mencoba:LANG=en_EN sort -f -k 1,1 SCZ.N.tmp> SCZ.N.tmp.sorted2 dan LANG=en_EN sort -f -k 1,1 1kg.tmp > 1kg.tmp.sorted2 , lalu bergabung menggunakan:LANG=en_EN join -1 1 -2 1 SCZ.N.tmp.sorted2 1kg.tmp.sorted2> SCZ.freq.joined . Tapi itu tidak menyelesaikannya.

Jawaban yang Diterima:

Anda menyortir file dengan opsi -f, sebagai kunci yang tidak tergantung huruf besar/kecil.

Namun, join mengharapkan kunci dalam urutan yang diurutkan secara normal.

Anda harus menambahkan opsi -i ke baris perintah untuk bergabung, untuk mengabaikan perbedaan huruf besar/kecil.

Atau, hilangkan opsi -f dari kedua jenis.

Sunting:juga menemukan kemungkinan lain di sini. Pemisah bidang harus identik untuk pengurutan dan penggabungan. Sepertinya default untuk mengurutkan dan menggabungkan keduanya adalah spasi putih, tetapi ini mungkin menjadi rintangan berikutnya.


Linux
  1. Cara memperbaiki kesalahan Perintah tidak ditemukan di Linux

  2. Kelola direktori Linux /tmp seperti bos

  3. Bergabung dengan banyak bidang dalam file teks di Unix

  1. Bagaimana menemukan file teks yang tidak mengandung teks di Linux?

  2. Hapus hanya file dalam direktori di direktori BUKAN linux

  3. Bagaimana cara menggabungkan dua file CSV?

  1. Perbaiki FirewallD tidak menjalankan kesalahan di Linux Mint 12

  2. Di mana direktori sementara di Linux?

  3. Bagaimana cara menggabungkan dua pipa bernama ke aliran input tunggal di linux