Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用SED删除具有多个要匹配的字段的行

使用SED删除具有多个要匹配的字段的行
EN

Stack Overflow用户
提问于 2012-10-08 19:11:33
回答 3查看 973关注 0票数 1

我有一个包含12列数据的文件。如果第5列等于"A“,第12列等于"Z”,我想删除/移除整行。这可以使用SED吗?

EN

回答 3

Stack Overflow用户

发布于 2012-10-08 19:23:26

你可以的。假设您的列由空格分隔:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sed -i -e '/\([^ ]* *\)\{4\}A *\([^ ]* *\)\{6\}Z/d' file

-i标志用于就地编辑文件。

模式[^ ]* *匹配零个或多个(用星号表示)不是空格的字符(由括号中^后面的空格字符表示),后面跟零个或多个空格。

将此模式放在反斜杠括号中,我们可以将其分组为一个表达式,然后我们可以使用反斜杠括号重复该表达式。最初匹配四次,然后匹配A后跟空格,然后模式再次重复六次,然后是Z

希望这会有帮助=)

票数 2
EN

Stack Overflow用户

发布于 2012-10-08 19:38:14

使用sed可以做到这一点,但是使用awk要容易得多

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
awk '! ( $5 == "A" && $12 == "Z" )' input-file

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
awk '$5 != "A" || $12 != "Z"' input-file
票数 2
EN

Stack Overflow用户

发布于 2012-10-09 07:38:39

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
perl -F -ane 'print unless($F[4] eq "A" and $F[11] eq "Z") your_file

测试如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> cat temp
1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 A 6 7 8 9 10 11 Z
> perl -F -ane 'print unless($F[4] eq "A" and $F[11] eq "Z")' temp
1 2 3 4 5 6 7 8 9 10 11 12
>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12787958

复制
相关文章
mongoose模糊搜索匹配多个字段
需求很简单,就是想根据搜索的内容 同时去匹配数据的title和tag  并返回 主要使用的方法是 db.find().or([])  // 加上'i' 不区分大小写 let search = '111'   let reg = new RegExp(search, "i");   await wallPaper     .find( //不放在or里面的搜索 正常填写       { visible: true }, //返回指定数据       {         _id: 1,       }  
biaoblog.cn 个人博客
2022/08/28
1.9K0
sed中的正则匹配
sed很早就支持正则表达式了,这在文件处理中非常有用,以下列出一些常见用法(GNU SED版本)。
生信编程日常
2020/06/29
7.4K0
Jquery如何删除table里面checkbox选中的多个行与多个列
(adsbygoogle = window.adsbygoogle || []).push({});
tianyawhl
2019/04/04
4.2K0
sed 删除命令
删除/etc/passwd中的不能登录的用户(筛选条件:/sbin/nologin)
用户1217611
2022/05/06
1.3K0
sed 删除命令
SQL 获取一行中多个字段的最大值
在 chaos(id,v1,v2,v3) 表中获取每个 id 对应的 v1、v2、v3 字段的最大值,v1、v2、v3 同为数值类型。
白日梦想家
2020/12/14
11.5K0
mysql正则表达式,实现多个字段匹配多个like模糊查询
一个questions表,字段有题目(TestSubject),选项(AnswerA,AnswerB,AnswerC,AnswerD,AnswerE) 要求字段不包含png,jpg,jpeg,gif 
陈灬大灬海
2018/12/28
12.6K0
sed与awk处理区间匹配的笔记--2
在上一篇中主要对sed的区间匹配中的两个命令n, b做了比较详细的记录;利用这两条命令从而实现区间匹配中的包含问题. 从而可以实现类似如下的匹配结果:
qsjs
2020/06/09
9700
使用awk和sed获取文件奇偶数行的方法总结
测试文件test.file [root@localhost ~]# cat test.file 111111111111111 222222222222222 333333333333333 444444444444444 555555555555555 666666666666666 777777777777777 888888888888888 999999999999999 1010101010101010 1) 打印奇数行的方法 [root@localhost ~]# sed -n '1~2p' t
洗尽了浮华
2019/05/25
1.3K0
ERP那些具有“组织”属性字段的启发
声明:本文仅代表原作者观点,仅用于SAP软件的应用与学习,不代表SAP公司。注:文中所示截图来源SAP软件,相应著作权归SAP所有。文中所指ERP即SAP软件。
齐天大圣
2021/04/23
8670
ERP那些具有“组织”属性字段的启发
NewLife.XCode中如何借助分部抽象多个具有很多共同字段的实体类
背景: 两个实体类:租房图片、售房图片 这两个表用于存储房源图片记录,一个房源对应多个图片,两个表的差别就在于一个业务关联字段。 租房图片中的RentID记录这个图片属于哪个租房信息; 售房图片中的SaleID记录这个图片属于哪个售房信息。 声明:这是二次开发,表结构不是我设计的。 因为两个实体类的操作极为相似,我们可以提取出来一个接口,进行统一操作。这里只有两个实体类,可能优势不明显,但如果有八个十个呢? 现在XCoder新模版(2012年3月以后)生成的实体类都是分部类,都对应有一个分部实体接口。 由于
大石头
2018/01/09
2.2K0
NewLife.XCode中如何借助分部抽象多个具有很多共同字段的实体类
R中字段抽取、字段合并、字段匹配
1、字段抽取 字段抽取,是根据已知列数据的开始和结束位置,抽取出新的列 字段截取函数:substr(x,start,stop) tel <- '18922254812'; #运营商 band <- substr(tel, 1, 3) #地区 area <- substr(tel, 4, 7) #号码段 num <- substr(tel, 8, 11) tels <- read.csv('1.csv'); #运营商 bands <- substr(tels[,1], 1, 3) #地区 areas <-
Erin
2018/01/09
5.4K0
sed与awk处理区间匹配的问题总结---1
正常情况下,将要处理的行读入pattern space(缓存的一种),然后在pattern space中进行处理,然后再将pattern space中的内容取回, 进行输出. 我们需要处理的行,很多情况下是用"pattern"匹配出来的。如果我们需要处理匹配行的前一行或者后一行有什么办法呢? 这时候可以用sed 的n 命令和 b命令: “n” 命令表示:将当前行的下一行读入到pattern space, 从而提换掉了当前行的内容. “b”命令表示:这是一个跳转指令,表示跳转到指定的lable, 如果lable 没有指定,那么直接跳转到命令的结束,也就是没有命令需要执行. 看如下例子的讲解:
qsjs
2020/06/09
1.1K0
Sed命令的基本使用
该文介绍了sed命令的基本使用,包括打印匹配行、替换匹配行、从文件中读取并写入到输出中等常用用法,以及使用修饰符进行更高级的文本处理。同时还介绍了sed命令的常用选项和例子,以及与其他文本处理工具的对比。
GavinZhou
2018/01/02
1.2K0
Linux sed 命令的使用
首先,就昨晚的发的消息道歉,虽然整蛊大家了,但是我还是挺开心的。 sed是一种流编辑器,配合正则表达式使用,sed处理文件之时,把当前处理的文保存在缓冲区,sed命令处理缓冲区的内容,将缓冲区的内容显示在到屏幕上,sed能够对一些重复操作的动作进行简化。 先来了解一下sed的命令格式 sed [options] 'command' filesname sed [options] -f scriptfilename filesname sed的命令 a \ 在当前行下面插入文本 i \ 在当前行
赵腰静
2018/03/09
3.2K0
MongoDB新增字段,删除字段
新增字段 db.yourcollection.update({},{$set:{"新增字段名称":""},false,true) 删除字段 db.yourcollection.update({},
十月梦想
2018/08/29
2.5K0
删除表中多余的重复记录(多个字段),只留有rowid最小的记录
--注意上面表中ID为自增长,如果User表中没有ID自增长,可以虚拟一个ID自增长列。
跟着阿笨一起玩NET
2018/09/19
3K0
05.记录合并&字段合并&字段匹配1.记录合并2.字段合并3.字段匹配3.1 默认只保留连接上的部分3.2 使用左连接3.3 使用右连接3.4 保留左右表所有数据行
将两个结构相同的数据框合并成一个数据框。 函数concat([dataFrame1, dataFrame2, ...])
用户1250179
2018/08/02
3.5K0
05.记录合并&字段合并&字段匹配1.记录合并2.字段合并3.字段匹配3.1 默认只保留连接上的部分3.2 使用左连接3.3 使用右连接3.4 保留左右表所有数据行
要慎用mysql的enum字段的原因
PHP低级编程的兄弟是这样来看这个问题的,我作下笔录如下,期望能客观的理解这个enum字段的优点及缺点:
全栈程序员站长
2021/06/17
6940
sld中使用多个字段做标注
概述 本文讲述如何在SLD中使用多个字段做标注。 效果 实现代码 <sld:Label> <ogc:Function name="strConcat"> <ogc:Fu
牛老师讲GIS
2018/10/23
1.1K0
sld中使用多个字段做标注
点击加载更多

相似问题

使用sed删除匹配多个模式的行。

44

使用SED删除不匹配的行

50

匹配行,并使用sed删除匹配行重复。

12

使用SED删除某些行,使用要删除的行号的索引

30

删除与sed匹配的行

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文