• 締切済み

16進数のデータをソートするには?

Linux上で16進数のデータをソートしたいのですがどうすれば実現できるでしょうか? [test.txt] 11009 292f 6551 e6f6 ↓のようにソートしたい 292f 6551 e6f6 11009 手順はまず、16進数→10進数に変換してからソートでしょうか? もしそうだとしても10進数に変換するところでつまずいています。 awkのprintfでやると下記のようにエラーがでます。 (頭に0xを追加して試してもダメでした) $ awk '{printf (%d, $1)}' test.txt awk: {printf (%d, $1)} awk: ^ syntax error awk: {printf (%d, $1)} awk: ^ syntax error ↓これだと変換できるのは知っているのですが・・・。 $ printf "%d\n" 0x292f 10543 以上、よろしくお願いします。

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

桁が大きすぎると正しくない 先頭にスペースなどが入ると正しくない けど perl -e '@l=<>;print sort {hex($a)<=>hex($b)} @l' < test.txt

関連するQ&A