Unixのソートがわかりません。次のファイルを検討してください(タブで区切られています)。
aa ~ a1
aa B
b A
b ~ e
bb B
bb ~ B
電話をかけるとき:
cat tmp2 | sort -t $'\t' -k1,2
わかりました。
aa ~ a1
aa B
b A
bb B
bb ~ B
b ~ e
私が理解しているように、-t $ '\ t'区切り文字をスペースの代わりにタブとして扱うことを意味し、-k1,2は最初の列に基づいてソートを意味し、2行の最初の列が同じ場合2番目の列に移動することを意味します。しかし、この場合、最後の「b」が4行目に出るべきではありませんか?
答え1
いいえ、-k1,2
最初のフィールドの先頭から始まり、2番目のフィールドの終わりで終わる行の部分を並べ替えることを意味します。
最初のフィールドを並べ替えてから2番目のフィールドを並べ替えるには、次の手順を実行します。
sort -k1,1 -k2,2