如果我有一个不同长度的十六进制数字文件,例如

1F
b
c

如何从命令行对它们进行排序?

欢迎使用Linux解决方案,尽管我将使用Windows和cygwin或gnuwin32。

注意:我显然不能使用SORT'cos来保持它们的顺序,这是错误的。

最佳答案

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

这保留了十六进制数字的原始大写/小写形式。

10-07 23:10