查找具有数字范围的文件中的所有行

时间:2013-10-08 19:16:15

标签: linux shell ksh

我在文件中有如下文字。

abcdxyz Time(0.010),blah blah blah
abcdxyz Time(1.010),blah blah blah
abcdxyz Time(0.010),blah blah blah
abcdxyz Time(2.010),blah blah blah
abcdxyz Time(3.010),blah blah blah
abcdxyz Time(8.010),blah blah blah

我想要查看Time()中的值大于2.00的所有行。我怎么能在ksh中做到这一点。

仅供参考:我的操作系统是Red Hat linux,我使用的是ksh

2 个答案:

答案 0 :(得分:2)

尝试使用awk

awk -F'[()]' '$2>2{print}' file

输出:

abcdxyz Time(2.010),blah blah blah
abcdxyz Time(3.010),blah blah blah
abcdxyz Time(8.010),blah blah blah

答案 1 :(得分:0)

这适用于(在AIX / ksh上)

sed 's/\(.*\)Time(\(.*\))\(.*\)/\2 \1Time(\2)\3/' a.dat | awk '{ if ($1 > 2.0) { $1="" ;  print } }'