删除第4列中包含范围模式的行

时间:2010-06-03 20:57:13

标签: bash scripting sed awk

在文件第4列中包含浮点数

dsfsd sdfsd sdfds 4.5 dfsdfsd

如果数字介于-0.1和0.1之间(或其他某个范围),我想删除整行。

sed或awk可以帮我吗?

感谢

2 个答案:

答案 0 :(得分:8)

我建议使用“pattern {expression}”语法:

awk '($4 < -0.1) || ($4 > 0.1) {print}' test.txt

或者,更简洁:

awk '($4 < -0.1) || ($4 > 0.1)' test.txt

由于{print}是默认操作。我假设您有一个包含数据的文件“test.txt”。

答案 1 :(得分:3)

AWK:

{ if ($4 > 0.1 || $4 < -0.1) print $0 }