如何从文件中寻找满足条件的行并输出

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
xingkongyue
帖子: 16
注册时间: 2010-09-17 11:17

如何从文件中寻找满足条件的行并输出

#1

帖子 xingkongyue » 2012-11-27 21:28

我想从一个文件中每一行将第i到j个字符所表示的数字满足>=60的那些行输出到另一个文件中,该如何操作。。
如有一行

代码: 全选

7:01202211,21011100,-26;8:21102133,01202211,-38;9:00033310,21102133,-52;10:1821b363,00033310,-60;
以最后那个60所处的地方作为判别点,>=60的话就输出,该怎么写??
正需要分析数据,可惜无用的太多,想筛选一下,望大家帮帮忙,提提想法也好。。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 如何从文件中寻找满足条件的行并输出

#2

帖子 eexpress » 2012-11-27 21:49

哪段为依据?别说i.j
● 鸣学
头像
xingkongyue
帖子: 16
注册时间: 2010-09-17 11:17

Re: 如何从文件中寻找满足条件的行并输出

#3

帖子 xingkongyue » 2012-11-27 22:28

eexpress 写了:哪段为依据?别说i.j
最后那个-60那儿,第94-95个字符
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 如何从文件中寻找满足条件的行并输出

#4

帖子 eexpress » 2012-11-27 22:31

man awk
看 $1, $2, ..., $NF. 这段。
自己折腾一次,就熟悉了。
● 鸣学
头像
xingkongyue
帖子: 16
注册时间: 2010-09-17 11:17

Re: 如何从文件中寻找满足条件的行并输出

#5

帖子 xingkongyue » 2012-11-28 16:48

eexpress 写了:man awk
看 $1, $2, ..., $NF. 这段。
自己折腾一次,就熟悉了。
请教同学后已经会了

代码: 全选

awk 'BEGIN {FS=","} {if (substr($NF,2,2)>=60) print $0}'  filename
回复