Gnuソート-k2と-k2,2の違い

Gnuソート-k2と-k2,2の違い
less file.txt

01 Joe x
02 Marie y
03 Albert p
04 Dave k

2列目で並べ替えたいです。ただし、次の2つのコマンドは同じ出力を提供します。 -k2と-k2,2を使用することの違いが何であるかを知っておくとよいでしょう。

less file.txt | sort -k2そしてless file.txt | sort -k2,2

出力:

03 Albert p
04 Dave k
01 Joe x
02 Marie y

ベストアンサー1

コンマの後の仕様はaを定義しますstop position(デフォルトはend of the line)。

man 1 sort:

-k--key=KEYDEFキーでソートされ、位置とタイプを提供します。

KEYDEF はF[.C][OPTS][,F[.C][OPTS]]開始位置と終了位置です。ここで、Fはフィールド番号、Cはフィールドの文字位置です。どちらも原点1で、停止位置はデフォルトで行末です。


たとえば、次の入力を考えてみますfile.txt

03 Albert p
04 Albert a
  • ソートを使用すると、次の位置に配置されます-k2Albert aAlbert p
  • 次のようにソートする-k2,2と、3番目のキーは無視されます。

または他の例:

03 Albert p
04 Aave k

次を使用して、2番目のキーの最初の文字に基づいてソートできます-k2,2.2

$ sort -k2,2.2 file.txt
03 Albert p
04 Aave k
  • -k2使用する場合は、Aaまずソートされます。Al

おすすめ記事