awk 正则表达式不包含字符串,如何用sed或awk模糊匹配指定字符串并删除替换
很多朋友对于awk 正则表达式不包含字符串和如何用sed或awk模糊匹配指定字符串并删除/替换不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
一、awk正则匹配规则
1、指在awk中使用正则表达式进行匹配的规则。awk中的正则表达式和普通正则基本一样,只不过在awk里需要将正则表达式用两个/包起来。点字符(.)可以匹配除了行结束字符的所有字符。下面是一些常用的正则表达式:
2、-点号(.):匹配除了换行符以外的任意字符。
3、-斜杠(/):用于分隔不同的模式。
4、-星号(*):匹配前面的子表达式零次或多次。
5、-加号(+):匹配前面的子表达式一次或多次。
6、-问号(?):匹配前面的子表达式零次或一次。
7、-竖线(|):匹配两个或多个子表达式中的一个。
8、-方括号([]):用于指定一个字符集合,匹配其中任意一个字符。
9、-大括号({}):用于指定一个分组,将匹配的内容分成若干组,以便对每一组进行操作。
二、如何用sed或awk模糊匹配指定字符串并删除/替换
sed:sed's/a..e/【替换为的字串,不写就是删除】/g'文件名上面是查找以a**e这样的字符串也可以写其他的正则表达式,并删除或替换awk:awk'{gsub(/a..e/,"替换内容或为空");print}'文件名同上,替换项写成空字符串就能实现删除功能。
三、sed awk区别
1、sed和awk都是Linux/Unix系统下的文本处理工具,主要用于处理文本文件、格式化输出、数据流的编辑等。二者的主要区别如下:
2、功能不同:sed主要用于文本替换和编辑,支持正则表达式;awk则更擅长文本分析和计算,支持将文本按照列进行切割、过滤、统计等操作。
3、语法不同:sed语法简单,命令行参数较少,可以使用单引号或双引号来包含编辑命令;awk语法相对较为复杂,需要使用大括号和分号来构造程序代码。
4、强大程度不同:awk的处理能力比sed更强大,可以进行比较复杂的计算和逻辑运算,也可以自定义函数和数组。
5、应用场景不同:sed主要用于快速的文本替换和编辑,常用于shell脚本中的批量处理;awk则更适合处理结构化文本数据,如日志、报表、数据统计等。
6、总之,sed和awk都是Linux/Unix系统下非常实用的文本处理工具,具有各自的特点和应用场景。根据需要选择合适的工具能够提高工作效率和处理效果。
四、正则表达式什么意思
1、正则表达式,regex或者regexp(有时称为有理表达式)是定义搜索模式的字符序列。通常这种模式通过字符串搜索算法用于字符串上的“查找”或“查找并替换”操作,或者用于输入验证。它是在理论计算机科学和形式语言理论中发展起来的一种技术。
2、这个概念产生于20世纪50年代,当时美国数学家斯蒂芬·科尔·克莱尼形式化了正规语言的描述。这一概念和Unix文本处理实用程序一起开始被普遍使用。自20世纪80年代以来,存在着不同的用于编写正则表达式语法,一种是POSIX标准,另一种是广泛使用的是Perl语法。
3、正则表达式用于搜索引擎、搜索和替换文字处理器和文本编辑器的对话框、文本处理实用程序(如sed和AWK)和词汇分析。许多程序设计语言提供regex功能,内置或通过库。
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!
——————————————小炎智能写作工具可以帮您快速高效的创作原创优质内容,提高网站收录量和各大自媒体原创并获得推荐量,点击右上角即可注册使用
相关新闻推荐
- awk 正则表达式提取字符串,使用AWK进行分割字符串以及截取字符串 2023-11-28
- awk 正则表达式不包含字符串,如何用sed或awk模糊匹配指定字符串并删除替换 2023-11-28
- awk 正则表达式 替换字符串(linux三剑客之awk详解) 2023-11-28
- awk 正则表达式 任意字符串?awk用法 2023-11-28
- awk 正则表达式 不包含字符串?请问正则表达式([^^]#)是什么意思 2023-11-28
- awk 将正则表达式赋值给变量 linux三剑客之awk详解 2023-11-28