如果我有一个不同长度的十六进制数字文件,例如
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}'
这保留了十六进制数字的原始大写/小写形式。