3

たとえば、長さが異なる16進数のファイルがある場合

1F
b
c

コマンドラインからそれらをソートするにはどうすればよいですか?

Linux ソリューションは大歓迎ですが、Windows と cygwin または gnuwin32 を使用します。

注:私は明らかに間違っている順序でそれらを保持する SORT 'cos を使用できません。

4

3 に答える 3

6
cat thefile | while read line; do printf "%d %s\n" "0x$line" "$line"; done | sort -n | awk '{print $2}'

これにより、16 進数の元の大文字/小文字が保持されます。

于 2011-02-16T18:47:13.580 に答える
0

試してみてくださいsort -n filename。マニュアルページの-n「文字列数値による比較」によるフラグ。

更新: @barlop が指摘したように、この-nオプションは 16 進数では機能しません。

于 2011-02-16T18:46:20.887 に答える
0

awk スクリプトを使用して、文字列を固定長になるまで左詰めするファイルを作成し、結果のファイルを並べ替えてから、結果の先頭のスペースを取り除くことができます。

awk を使用してからしばらく経ちましたが、思い出すと右寄せで出力することは難しくありませんでした。

于 2011-02-16T18:49:37.980 に答える