0

我在文件中有如下文本。

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

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

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

4

2 回答 2

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
于 2013-10-08T19:30:46.260 回答
0

这有效(在 AIX/ksh 上)

sed 's/\(.*\)Time(\(.*\))\(.*\)/\2 \1Time(\2)\3/' a.dat | awk '{ if ($1 > 2.0) { $1="" ;  print } }'
于 2013-10-08T19:34:14.010 回答