スペースで区切られた1つのCSVファイルがあります。
Jan_high 32 123
Febr_low 19 139
March_high 12 63
Jan_low 36 18
Febr_high 87 99
March_low 83 77
_high
最初の列に基づいて_low
文字列をソートする方法は?sort -k1.5
high または low 文字列が固定文字位置から始まらないため使用できません。誰でもどんなアイデアがありますか?
答え1
-t '_' -k2
withを使用すると、入力はスペース以外の文字で区切られたものとしてsort
扱われ、2番目のフィールド(またはで始まるフィールド)がソートされます。sort
_
high
low
$ sort -t '_' -k2 file
March_high 12 63
Jan_high 32 123
Febr_high 87 99
Febr_low 19 139
Jan_low 36 18
March_low 83 77
入力の最初の行を例にしましょう。
Jan_high 32 123
^^^ ^^^^^^^^^^^
f1 field2