- 论坛徽章:
- 0
|
我写的一个脚本,是按照人名的汉语拼音的顺序排序的
数据文件见:
http://www.chinaunix.net/forum/viewtopic.php?t=158788- #!/bin/ksh
- #scriptname:sortname
- #write by:bjgirl
- #date:2003/09/11
- name=$(
- for i in $(awk -F\| '{print $2}' datafile)
- do
- echo -n "$i=";echo $i|od -c|awk '{print $2}'
- done|tr -s '\n'|sort -n -t"=" -k 2|awk -F= '{print $1}')
- for j in $name
- do
- sed -n /${j}/p datafile
- done
复制代码 结果- $sortname
- 1231017911|黄伟|1231017911|2003/07/07|2004/07/03|200000.0|0.0|6.6375
- 1231021548|黄伟希|1231021548|2001/04/18|2001/10/18|20000.0|10000.0|6.975
- 1231021548|黄伟希|1231021548|2001/04/18|2001/10/18|20000.0|10000.0|6.975
- 1231054277|李八|1231054277|2002/04/18|2002/12/18|50000.0|0.0|6.6375
- 1231024763|李四|1231024763|2000/08/11|2001/08/11|10000.0|0.0|7.3125
- 1231053510|孙七|1231053510|2002/02/08|2002/08/08|50000.0|0.0|6.975
- 1231005010|苏义|1231005010|2003/06/25|2003/08/25|200000.0|0.0|6.3
- 1231017864|苏义强|1231017864|2001/04/29|2001/08/30|10000.0|0.0|6.975
- 1231030010|苏义红|1231030010|2001/12/27|2002/12/26|60000.0|38000.0|7.3125
- 1231042038|苏义红|1231042038|2003/02/27|2003/12/20|40000.0|0.0|6.6375
- 1231017864|苏义强|1231017864|2001/04/29|2001/08/30|10000.0|0.0|6.975
- 1231030010|苏义红|1231030010|2001/12/27|2002/12/26|60000.0|38000.0|7.3125
- 1231042038|苏义红|1231042038|2003/02/27|2003/12/20|40000.0|0.0|6.6375
- 1231030010|苏义红|1231030010|2001/12/27|2002/12/26|60000.0|38000.0|7.3125
- 1231042038|苏义红|1231042038|2003/02/27|2003/12/20|40000.0|0.0|6.6375
- 1231042190|王五|1231042190|2001/06/21|2001/11/21|20000.0|10000.0|6.975
- 1231023511|张三|1231023511|2003/01/07|2003/07/06|15000.0|0.0|6.3
- 1231053035|赵六|1231053035|2001/07/20|2001/07/24|30000.0|0.0|6.975
复制代码 原理很简单:把汉字转换成ASCII码后再排序
请指教! |
|