免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2589 | 回复: 3
打印 上一主题 下一主题

挑战:如何实现文本文件中按照字串长度排序?  关闭 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-10-15 11:16 |只看该作者 |倒序浏览
假定文件中每行只有一个字符串,不超过80个字符(不包含特殊字符
不包含空格):

>cat a.tmp

hello
yes
chinaunix
iloveshell
s
213xx
solarisv1.8
ddddddddddddddddddddddddddd...

如何实现一个操作,生成一个新文件,其字串按照长度递减排序?

eg:    sort_file a.tmp > b.tmp
cat  b.tmp

ddddddddddddddddddddddddddd...
solarisv1.8
chinaunix
iloveshell
213xx
hello
yes
s

论坛徽章:
0
2 [报告]
发表于 2003-10-15 11:31 |只看该作者

挑战:如何实现文本文件中按照字串长度排序?

  1. cat sort_file

  2. if [ $# -ne 1 ];then
  3.         echo "Usage:$0 file"
  4.         exit
  5. fi

  6. file=$1

  7. awk '{
  8.         print length($0),$0
  9. }' $file |sort -knr|awk '{print $2}'
复制代码

论坛徽章:
0
3 [报告]
发表于 2003-10-15 11:43 |只看该作者

挑战:如何实现文本文件中按照字串长度排序?

没必要用AWK吧~~,很容易嘛~~

  1. $cat a.tmp|while read i;do echo "${#i} $i";done|sort -nr|cut -f2 -d" ">b.tmp;cat b.tmp
  2. ddddddddddddddddddddddddddd...
  3. solarisv1.8
  4. iloveshell
  5. chinaunix
  6. hello
  7. 213xx
  8. yes
  9. s
复制代码

论坛徽章:
0
4 [报告]
发表于 2003-10-15 13:36 |只看该作者

挑战:如何实现文本文件中按照字串长度排序?

汗。。。。。。。。。

     高人-朵朵。。。。 就没欧一个。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP