当前位置: 技术问答>linux和unix
用bshell如何取出文件指定字段
来源: 互联网 发布时间:2016-03-04
本文导语: unix下我用what命令,得到一些文件的信息,如下图 a.c 4.1 2007/10/04 15:15:15 bk.c 1.0 96/06/01 08:30:00 cc.c 1.0 96/06/01 08:30:00 do.c 1.0 96/06/01 08:30:0...
unix下我用what命令,得到一些文件的信息,如下图
a.c 4.1 2007/10/04 15:15:15
bk.c 1.0 96/06/01 08:30:00
cc.c 1.0 96/06/01 08:30:00
do.c 1.0 96/06/01 08:30:00
ed.c 1.0 96/06/01 08:30:00
ffo.c 1.0 96/06/01 08:30:00
gad.c 2.5 99/03/29 10:18:42
文件名后面的4.1 1.0 2.5等等是文件版本,我想要取出最大的版本是多少(上面的就是4.1),改如何操作呢,救命啊
可以把上面的出力信息保存到tmp文件文件中,然后再操作,各位有什么好的方法阿,救命啊!!!
a.c 4.1 2007/10/04 15:15:15
bk.c 1.0 96/06/01 08:30:00
cc.c 1.0 96/06/01 08:30:00
do.c 1.0 96/06/01 08:30:00
ed.c 1.0 96/06/01 08:30:00
ffo.c 1.0 96/06/01 08:30:00
gad.c 2.5 99/03/29 10:18:42
文件名后面的4.1 1.0 2.5等等是文件版本,我想要取出最大的版本是多少(上面的就是4.1),改如何操作呢,救命啊
可以把上面的出力信息保存到tmp文件文件中,然后再操作,各位有什么好的方法阿,救命啊!!!
|
思路:
取出每行的版本字段-->排序(先大后小)-->取第一行就是
取字段可以用cut或awk,awk更强大一些
排序用sort
取第一行也可用awk
类似于:
ver=`what | awk '{print $2;}' | sort -nr | awk '{print $0;exit;}'`
变量ver就是你要的东西,具体细节你自己调试
取出每行的版本字段-->排序(先大后小)-->取第一行就是
取字段可以用cut或awk,awk更强大一些
排序用sort
取第一行也可用awk
类似于:
ver=`what | awk '{print $2;}' | sort -nr | awk '{print $0;exit;}'`
变量ver就是你要的东西,具体细节你自己调试
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。