sort -kを使用するときにnullキーのソート順序をどのように無視または変更できますか?
# cat afile
a b
11 20
93 45
55
26
09 31
下の空の列bの値を次のように並べ替えるにはどうすればよいですか?
a b
11 20
09 31
93 45
26
55
これが私が得るものです:
sort -k 2b tmp/file
26
55
11 20
09 31
93 45
ベストアンサー1
空のフィールドに特殊なソートキーを追加し、ソート後に再度削除できます。キーは入力データに表示しないでください。各(数値)値より大きくなければなりません。
たとえば、
$ awk '$2 ~ /^$/ { print $1, "XXX"; next; } {print $0 }' f \
| sort -k2b
| sed 's/XXX$//'
11 20
09 31
93 45
26
55