设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 综合讨论区 —— LinuxSir.cn
›
shell进阶应用、shell编程
›
求一个读文件并返回其中最大最小行的shell脚本 ...
返回列表
查看:
1315
|
回复:
7
求一个读文件并返回其中最大最小行的shell脚本
[复制链接]
glfgo1
glfgo1
当前离线
积分
2
IP卡
狗仔卡
发表于 2009-11-22 14:47:51
|
显示全部楼层
|
阅读模式
我有一个文件.像下面这样:
abc6123000014
ddc6123000063
adf6123000035
dff6123000043
...
...
文件中只有00001,00006,00003,0000是有序的,请问能不能写个SHELL读这文件,并且返回其中的最小有序值和最大有序值所在的行?
新人初学,请各位大家指导一下.
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
ServerOnly
ServerOnly
当前离线
积分
338
IP卡
狗仔卡
发表于 2009-11-22 22:36:45
|
显示全部楼层
麻烦您能用文字描述而不是举例来表达一下吗?
回复
支持
反对
使用道具
举报
显身卡
overawe
overawe
当前离线
积分
32
IP卡
狗仔卡
发表于 2009-11-22 22:38:27
|
显示全部楼层
nl log|sed 's/[a-zA-Z]..//'|sort -k2 -n|sed -n '1p;$p'
这样可以吗,等待别人的答案
还有整个数字为基础比较,还是0000后面的数字比较?
回复
支持
反对
使用道具
举报
显身卡
glfgo1
glfgo1
当前离线
积分
2
IP卡
狗仔卡
楼主
|
发表于 2009-11-23 09:03:44
|
显示全部楼层
谢谢上面的两位..
我想实现这样的操作.
对一个文件做统计,统计出文件里的最大和最小所在行.
文件描述:
a0003b
c0002d
f0005d
f0006v
a0004t
......
......
这文件每列2到5的字符是有序的数值,其他字符无序
预期结果是返回最大值所在的记录行:f0006v, 最小值所在的记录行c0002d
回复
支持
反对
使用道具
举报
显身卡
ServerOnly
ServerOnly
当前离线
积分
338
IP卡
狗仔卡
发表于 2009-11-23 10:35:10
|
显示全部楼层
删除第一个字符、排序、输出与第一行及最后行所相匹配的行
相匹配的
root [ ~/fnz ]0# grep `sed -e 's/^.//' data | sort | head -n 1` data
c0002d
root [ ~/fnz ]0# grep `sed -e 's/^.//' data | sort | tail -n 1` data
f0006v
root [ ~/fnz ]0#
复制代码
回复
支持
反对
使用道具
举报
显身卡
ServerOnly
ServerOnly
当前离线
积分
338
IP卡
狗仔卡
发表于 2009-11-23 22:43:18
|
显示全部楼层
读了 man sort, 这个最简单:
root [ ~/fnz ]0# sort -k1.2,5 data | sed -n '1p;$p'
c0002d
f0006v
root [ ~/fnz ]0#
复制代码
回复
支持
反对
使用道具
举报
显身卡
overawe
overawe
当前离线
积分
32
IP卡
狗仔卡
发表于 2009-11-24 22:35:08
|
显示全部楼层
我试了一下,sed 打印最后一行没有用 tail快 20w行的数据。。。
回复
支持
反对
使用道具
举报
显身卡
apzc2529
apzc2529
当前离线
积分
625
IP卡
狗仔卡
发表于 2009-11-26 22:30:17
|
显示全部楼层
Post by
overawe;2049576
我试了一下,sed 打印最后一行没有用 tail快 20w行的数据。。。
似乎 sed 是从头读, tail是从尾巴读。因此对于很大的文件,tail就快很多了。
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表