
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
- ソートを使用すると、次の位置に配置されます
-k2
。Albert a
Albert 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