首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除行包括高于确定阈值的值。

删除行包括高于确定阈值的值。
EN

Ask Ubuntu用户
提问于 2021-10-03 10:48:39
回答 1查看 31关注 0票数 0

我有一个数据文件,如:

数据:

代码语言:javascript
复制
arht    -0.1006 0.0001  0.0147  100     arht    0.0012  -0.0002 0.0182  100
arht    -0.0006 1.0006  0.0133  100     arht    0.1011  0.0003  0.0175  100
bcmn     0.0005 0.0011  0.0165  100     bcmn    0.0015  0.0007  0.0197  100
ffgf    -0.0009 0.0012  0.0121  100     ffgf    0.0007  0.0010  0.0150  100
ffgf    -0.0004 0.0009  0.0105  100     ffgf    0.1008  0.0006  0.0151  100

我使用以下命令提取2-3-4和7-8-9列的值,包括高于绝对值0.10的行:

代码语言:javascript
复制
awk 'sqrt($2*$2)<=.1 || sqrt($3*$3)>=.1 || sqrt($4*$4)>=.1 || sqrt($7*$7)>=.1 || sqrt($8*$8)>=.1 || sqrt($9*$9)>=.1 {print}' data > output

我需要从数据文件中删除这些行。我如何修改上面的代码?

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2021-10-03 15:04:25

提取大于文本文件中阈值的值?似乎是一个重复的问题,如果是这样的话,您需要更正代码的第一个术语:

代码语言:javascript
复制
awk 'sqrt($2*$2)>=.1 || sqrt($3*$3)>=.1 || sqrt($4*$4)>=.1 || sqrt($7*$7)>=.1 || sqrt($8*$8)>=.1 || sqrt($9*$9)>=.1) {print}' data >output

那么,您所要做的就是添加一个否定符号(!)在前面得到你想要的:

代码语言:javascript
复制
awk '!(sqrt($2*$2)>=.1 || sqrt($3*$3)>=.1 || sqrt($4*$4)>=.1 || sqrt($7*$7)>=.1 || sqrt($8*$8)>=.1 || sqrt($9*$9)>=.1) {print}' data > output
票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1367140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档