
以下を使用して、ファイルを他のファイルに関連付ける前にソートします。
sort -k1 file1 > file1_sort
2番目のファイルを結合しようとすると、file1がソートされていないというエラーが発生します。次の項目のため、このようなことが起こると思います。
chr6_32609371_I I2 D
chr6_32609371 T C
私のソートファイルでは、「chr6_32609371」行は「chr6_32609371_I」の前に配置する必要があります。これを達成するために、ソートコマンドにパラメータを追加できますか?
答え1
問題は、sort -k1
最初のフィールドに基づいてソートされず、むしろ~から最初のフィールドから行末まで。man sort
(ハイライト内)から:
KEYDEF は開始位置と停止位置を表す F[.C][OPTS][,F[.C][OPTS]] です。ここで、Fはフィールド番号、Cはフィールドの文字位置です。どちらも原点1です。停止位置はデフォルトで行末に設定されます。
だからと比較していて-k1
、以前だからご覧のように並べ替えをしています。この問題を解決するには、開始位置と終了位置を渡して最初のフィールドのみを考慮する必要があります。chr6_32609371_I I2 D
chr6_32609371 T C
I
T
sort
sort -k1,1 file