2つのソートされたファイルを結合すると、エラーが発生します。:112855: ソートされていません:

2つのソートされたファイルを結合すると、エラーが発生します。:112855: ソートされていません:

Linuxでは、あるファイルの変数を別のファイルにマージしたいと思います。最初の変数には、マージするファイルの名前が含まれます。

-fと-kを使用して両方のファイルをソートしました sort -f -k 1,1 SCZ.N.tmp> SCZ.N.tmp.sortedsort -f -k 1,1 1kg.tmp > 1kG.ref_file.sorted

ただし、次のように2つのファイルを結合すると:join -1 1 -2 1 SCZ.N.tmp.sorted 1kG.ref_file.sorted> SCZ.freq.joined

「継続」エラーが発生します。接続: SCZ.N.tmp.sorted: 112855: 整列しない: chr1_100002155_D D I6 0.995112 0.0184 0.7897 87016それにもかかわらず、接続は継続され、ほとんどがマージされました。ただし、ファイル間の不一致によって少数のケースが欠落しているのか、それともこれらのファイルを並べ替えるのに問題があるのか​​はわかりません。

私が間違っていることを知っている人はいますか?このエラーを回避するにはどうすればよいですか?ありがとうございます!

私も:を試してLANG=en_EN sort -f -k 1,1 SCZ.N.tmp> SCZ.N.tmp.sorted2からLANG=en_EN sort -f -k 1,1 1kg.tmp > 1kg.tmp.sorted2:を使用して参加しましたLANG=en_EN join -1 1 -2 1 SCZ.N.tmp.sorted2 1kg.tmp.sorted2> SCZ.freq.joined。しかし、それは問題を解決できませんでした。

ベストアンサー1

-fオプションを使用すると、ファイルを大文字と小文字に依存しないキーでソートできます。

ただし、結合には通常のソート順のキーが必要です。

大文字と小文字の違いを無視するには、結合コマンドラインに-iオプションを追加する必要があります。

または、両方のタイプで-fオプションを省略します。

編集:別の可能性も発見しましたここ。ソートと結合のためのフィールド区切り文字は同じでなければなりません。ソートと接続のデフォルトは空白のように見えますが、これは次の障害になる可能性があります。

おすすめ記事