求助 文件排序

求助 文件排序

以前遇到的文件,里面的每条记录都是等长的,排序的话都用mfsort这个命令,但是它不能解决记录不等长的问题,有命令可以实现不等长记录的排序吗      
mfsort 什么东东?      
是COBOL公司做的,具体不太清楚哦,
shell编程里,一行一行的读文件的时候,怎么计算每行的长度哦      
复制内容到剪贴板
代码:
[color=blue]-(user@host:tty)-(tmp)-
[278 0] $ [/color]var="hello, world"
[color=blue]-(user@host:tty)-(tmp)-
[278 0] $ [/color]echo $var
hello, world
[color=blue]-(user@host:tty)-(tmp)-
[278 0] $ [/color]echo "length of \$var = ${#var}"
length of $var = 12
[color=blue]-(user@host:tty)-(tmp)-
[278 0] $ [/color]
      
复制内容到剪贴板
代码:
[No.541 13:27:37 ~]$ var="hello, world"
[No.542 13:27:43 ~]$ expr length "$var"
12
[No.543 13:27:50 ~]$ echo $var | wc -L
12
[No.544 13:28:03 ~]$

[No.545 13:30:07 ~]$ echo "$var" | awk '{print length var}'
12
      
最后一个 awk 的是不是用错了,或者故弄玄虚?
复制内容到剪贴板
代码:
[color=blue]-(user@host:tty)-(tmp)-
[1830 0] $ [/color]echo 12345 | awk '{ print length; }'
5
[color=blue]-(user@host:tty)-(tmp)-
[1830 0] $ [/color]echo 12345 | awk '{ print length var; }'
5
[color=blue]-(user@host:tty)-(tmp)-
[1830 0] $ [/color]echo 12345 | awk 'BEGIN { var = "abcde"; } { print length var; }'
5abcde
[color=blue]-(user@host:tty)-(tmp)-
[1830 0] $ [/color]echo 12345 | awk '{ print length(var); }'0
[color=blue]-(user@host:tty)-(tmp)-
[1830 0] $ [/color]echo 12345 | awk 'BEGIN { var = "abc"; } { print length(var); }'
3
[color=blue]-(user@host:tty)-(tmp)-
[1830 0] $ [/color]
      
谢谢各位帮忙      

抱歉
我看屏幕上打出来的结果没错就贴过来了
当时自己也有惊奇      
这个世界有些惊奇才好