linux - 删除第 N 个字段中编号小于 X 的行

标签 linux bash awk sed grep

我有一个由这样的行组成的文件:

ExampleText | En | 1.0
ExampledText | Es | 0.9
ExamplesText | En | 0.9994
ExampleTexts | Br | 0.991
ExampledText | Es | 0.83324
ExamplerText | En | 0.4494

使用 grep.*| En,我可以得到所有包含En的行。但是,我怎样才能同时删除最后一列中包含小于 0.5 的所有值?

因此,输出是:

ExampleText | En | 1.0
ExamplesText | En | 0.9994

非常感谢您的积极投入。

最佳答案

awk '$2 == "En" && $3 >= .5' FS=' \\| '
  1. 将字段分隔符设置为 |

  2. 如果字段 2 等于 En 并且字段 3 大于或等于 .5

    则匹配

关于linux - 删除第 N 个字段中编号小于 X 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40369619/

相关文章:

linux - 当模式包含\n 时查找并替换 - linux 命令行

windows - Windows 和 native API 中的系统调用?

ARM架构的Linux交叉编译

git - 如何在 git push 后运行 bash 脚本

java - 自动检测错误log4j静态初始化的方法

linux - 用逗号分隔文件的第 n 列替换空格分隔文件的第一列

regex - 使用 SED 或 AWK 从文件中删除行

python - 如何在不阻止python执行的情况下在python中启动可执行文件

linux - 使用Linux PID查找IP地址

linux - 使用 sed 命令 shell 脚本替换包含空格的字符串