awk使用正则精确匹配

[[email protected] home]# cat file
5001][YRSD5-1][YRSD5-1-2][0203008400028411] 010102
5001][YRSD7-1][YRSD7-1-2][0203008400028411] 010102
5001][YRSD5-1][YRSD5-1-20][14030084000286E7] 010101
5001][YRSD7-1][YRSD7-1-3][03030084000285C0] 010102
5001][YRSD5-1][YRSD5-1-21][1503008400028736] 010101
5001][YRSD7-1][YRSD7-1-4][0403008400028477] 010101
5002][YRSD7-2][YRSD7-2-22][16030010000f072C] 000000
5001][YRSD5-1][YRSD5-1-23][17030010000f06FD] 001A00
5002][YRSD7-2][YRSD7-2-23][17030010000f06FD] 000000
5001][YRSD5-1][YRSD5-1-24][18030010000f0602] 004900
5002][YRSD7-2][YRSD7-2-24][180300380004C7CD] 000000
5002][YRSD7-2][YRSD7-2-25][19030084000287FA] 010102
5001][YRSD7-1][YRSD7-1-9][0903000800078482] 000001
5002][YRSD5-2][YRSD5-2-35][23030084000282A0] 010101
5001][YRSD5-1][YRSD5-1-26][1A030084000287C9] 010101
5002][YRSD5-2][YRSD5-2-36][240300380004C2F1] 000000
5002][YRSD5-2][YRSD5-2-37][25030084000282C6] 010101
5001][YRSD5-1][YRSD5-1-28][1C030010000f0786] 011301
5001][YRSD5-1][YRSD5-1-29][1D030010000f0657] 000000
5002][YRSD5-2][YRSD5-2-39][270300380004C2C2] 000000
5002][YRSD2-2][YRSD2-2-23][17030084000286D4] 010102
5001][YRSD5-1][YRSD5-1-4][040300080007859F] 00003E
5002][YRSD2-2][YRSD2-2-24][180300840002862B] 010102
5001][YRSD5-1][YRSD5-1-4][0403008400028477] 010101
5001][YRSD2-1][YRSD2-1-6][06030010000f05BC] 000700

  

想精确匹配最长列文本,最长列中有部分包含0300840002字符,使用awk的if语句

awk -F‘\\]|\\[‘ ‘{if($7~/^..0300840002....$/)print $7}‘ file

.表示任意一个字符,而且要配合^$,不然会有贪婪匹配

时间: 2024-08-06 14:10:15

awk使用正则精确匹配的相关文章

使用 grep 的 -o 和 -E 选项进行正则的精确匹配

sed 命令可以很好的进行行匹配,但从某一行中精确匹配某些内容,则使用 grep 命令并辅以 -o 和 -E 选项可达到此目的.其中 -o 表示“only-matching”,即“仅匹配”之意.光用它不够,配合 -E 选项使用扩展正则表达式则威力巨大. 比如下面有一条文本 tmp.txt ,其中内容为: {"aid":45,"path":"attachment/Mon_1112/2_1_5728040df3ab346.jpg"} 我们想从中过略出

三思考,实现自己定义404页:Tomcat、SpringMVC精确匹配、重写DispatchServlet

第1种方式:Tomcat直接处理 web.xml <error-page> <error-code>404</error-code> <location>/error/404.htm</location> </error-page> 这样的仅仅能展示纯静态的页面,很不灵活. 第2种方式:利用Spring MVC的最精确匹配 @Controller public class UrlNotFoundController { @Reques

正则递归匹配

/// <summary> /// 正则递归匹配 /// </summary> /// <param name="dicVal">返回一个字典</param> /// <param name="context">要匹配的字符串</param> /// <param name="i">从第几个正则表达式开始匹配</param> /// <param

javascript正则——贪婪匹配

熟悉正则的朋友都知道,正则的匹配有"贪婪"和"非贪婪"之分. "贪婪"匹配是尽可能多的匹配: 对于字符串'aaaa', /a+/匹配整个字符串,而非贪婪匹配/a+?/匹配的是整个字符串的第一个'a',因为贪婪匹配是尽可能少的匹配. -------------- 使用非贪婪匹配还有一些需要注意的地方. 考虑下面这个正则表达式:/a+b/,它匹配一个或多个a,以及一个b. 使用'aaab'作为匹配字符串时,它会匹配整个字符串. 如果我们换成/a+?b

python 中文正则表达匹配

需求:由于某个n年前的工具的错误,在复制一批文件的时候产生了大量的"复件xxxxxxx""复件(2)XXXXX"等类似文件,由于目录结构深,文件多,预计在5000万个,但是有多少这种错误的文件不清楚,因此写个脚本遍历删除. #encoding=utf-8 #author: skybug #date: 2014-05-11 #function: 遍历指目录,删除中文开头的文件名的图片 import os,re cnt = 0 pattern = re.compile(

Google Adwords关键词即将告别完全精确匹配

People aren't perfect spellers or typists. In fact, at least 7% of Google searches contain a misspelling. And the longer the query, the greater the likelihood of a typo. But even if what they've typed isn't perfect, people still want to connect with

模糊匹配中,精确匹配排在前面

select * from table1 where column1 like '%abcde%' order by LEN(column1) - LEN('abcde') 模糊匹配中,精确匹配排在前面

百度竞价中的精确匹配,短语匹配,广泛匹配有什么区别。

这里我们举例说明 假设我们设置了一个关键词 “福特福克斯改造” 1.精确匹配: 福特福克斯改造(与关键词字面完全相同的搜索词)2.短语匹配: 精确包含--福特福克斯改造.北京福特福克斯改造(精确匹配+完全包含关键字) 同义包含--福特福克斯改造.北京福特福克斯改造.福特白色福克斯改造.改造福特福克斯.福特福克斯改装 (精确包含+关键字的插入.颠倒和同义形态) 核心包含--福特福克斯改造.北京福特福克斯改造.福特白色福克斯改造.改造福特福克斯.福特福克斯改装 福克斯改造.白色经典福克斯改造.白色福

Linux shell】grep命令精确匹配字符串查找

需求: 精确匹配查找某个字符串 精确匹配: 例如: 在抽取字符串“48”,返回结果包含诸如484和483等包含“48”的其他字符串,实际上应精确抽取只包含48的各行. 使用grep抽取精确匹配的一种有效方式是在抽取字符串前加 \ <, 在抽取字符串后加 \ > .假定现在精确抽取48, 方法如下: #grep ' \ <48\>' filename 原文地址:https://www.cnblogs.com/mingzhang/p/11002241.html