社区
Linux/Unix社区
帖子详情
awk的正则过滤问题
enlich
2017-09-26 12:22:09
awk '/^([1-9]|[1-9][0-9]|1[01][0-9]|12[0-6])/'
这条命令为什么还是能将127.0.0.1过滤出来?
192.168.179.128
127.0.0.1
...全文
786
4
打赏
收藏
awk的正则过滤问题
awk '/^([1-9]|[1-9][0-9]|1[01][0-9]|12[0-6])/' 这条命令为什么还是能将127.0.0.1过滤出来? 192.168.179.128 127.0.0.1
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rayw0ng
2017-09-26
打赏
举报
回复
因为最前面的 [1-9] 可以匹配任何非 0 开头的 IP。 如果意图是几种“或”的条件后必须是“.”,可以在“)”的后面加 \.。
enlich
2017-09-26
打赏
举报
回复
谢谢3位的解答。
代码誊写工
2017-09-26
打赏
举报
回复
只要是数字(除0)打头的任何长度字符串(包括第二位起使用非数字)这个正则都匹配。 所以,我问你到底想要啥 IP:从1.0.0.1到255.255.255.255,第1字节和第4字节不允许为0. ^([1-9]|[1-9][0-9]|1[0-9][0-9]|[2][0-4][0-9]|25[0-5])\.(([0-9]|[1-9][0-9]|1[0-9][0-9]|[2][0-4][0-9]|25[0-5])\.){2}([1-9]|[1-9][0-9]|1[0-9][0-9]|[2][0-4][0-9]|25[0-5])$ 除了127.0.0.1的所有IP,awk的正则是绝对办不到的,因为它不支持断言、回溯。 除非只要不匹配127.0.0.1,管它是不是合法ip。
常书
2017-09-26
打赏
举报
回复
[1-9]|[1-9][0-9] 都会匹配127 改成这样就不会匹配127了 awk '/^([1-9]9|1[01][0-9]|12[0-6])/'
shell编程指南,shell脚本,本书共分五部分全。grep家族,sed,
AWK
,
正则
表达式,tr用法
Linux与unix shell编程指南.rar 第一部分 shell 第1章 文件安全与权限 1 第2章 使用find和xargs 14 第3章 后台执行命令 22 第4章 文件名置换 31 第5章 shell输入与输出 34 第6章 命令执行顺序 46 第二部分 文本
过滤
第7章
正则
表达式介绍 49 第8章 grep家族 56 第9章
AWK
介绍 66 第10章 sed 用法介绍 89 第11章 合并与分割 104 第12章 tr用法 119 第三部分 登录环境 第13章 登录环境 125 第14章 环境和shell变量 132 第15章 引号 146 第四部分 基础shell编程 第16章 shell脚本介绍 151 第17章 条件测试 154 第18章 控制流结构 160 第19章 shell函数 202 第20章 向脚本传递参数 224 第21章 创建屏幕输出 236 第22章 创建屏幕输入 252 第23章 调试脚本 274 第24章 shell嵌入命令 277 第五部分 高级shell编程技巧 第25章 深入讨论<< 281 第26章 shell 工具 289 第27章 几个脚本例子 306 第28章 运行级别脚本 318 第29章 cgi脚本 325 附录 常用shell命令 350
shell脚本-
正则
、grep、sed、
awk
三剑客
在企业工作中,每天做的Linux运维工作中,时刻都会面对大量带有字符串的文本配置、程序、命令输出及日志文件等,而我们经常会有迫切的需要,从大量的字符串内容中查找符合工作需要的特定字符串。这就需要
正则
表达式,因此,可以说
正则
表达式就是为
过滤
这样的字符串而生的。
详解linux
正则
表达式(基础
正则
表达式+扩展
正则
表达式)
正则
表达式应用非常广泛,例如:php,Python,java等,但在linux中最常用的
正则
表达式的命令就是grep(egrep),sed,
awk
等,换句话 说linux三剑客要想能工作的更高效,就一定离不开
正则
表达式的配合。 1、什么是
正则
表达式? 简单的说,
正则
表达式就是为处理大量的字符串而定义的一套规则和方法。通过定义的这些特殊符号的辅助,系统管理员就可以快速
过滤
、替换或者输出需要的字符串。linux
正则
表达式一般以行为单位处理的。 2、为什么要学
正则
表达式 在企业工作中,我们每天做的linux运维工作中,时刻都会面对大量带有字符串的文本配置、程序、命令输出及日志文件等,而我们经常会有迫
Linux与unix shell编程指南.rar
shell,shell脚本,本书共分五部分全。grep家族,sed,
AWK
,
正则
表达式,tr用法 第一部分 shell 第1章 文件安全与权限 1 第2章 使用find和xargs 14 第3章 后台执行命令 22 第4章 文件名置换 31 第5章 shell输入与输出 34 第6章 命令执行顺序 46 第二部分 文本
过滤
第7章
正则
表达式介绍 49 第8章 grep家族 56 第9章
AWK
介绍 66 第10章 sed 用法介绍 89 第11章 合并与分割 104 第12章 tr用法 119 第三部分 登录环境 第13章 登录环境 125 第14章 环境和shell变量 132 第15章 引号 146 第四部分 基础shell编程 第16章 shell脚本介绍 151 第17章 条件测试 154 第18章 控制流结构 160 第19章 shell函数 202 第20章 向脚本传递参数 224 第21章 创建屏幕输出 236 第22章 创建屏幕输入 252 第23章 调试脚本 274 第24章 shell嵌入命令 277 第五部分 高级shell编程技巧 第25章 深入讨论<< 281 第26章 shell 工具 289 第27章 几个脚本例子 306 第28章 运行级别脚本 318 第29章 cgi脚本 325 附录 常用shell命令 350
Shell高级培训
目录 前言 显示和操作文件的实用程序 网络的实用程序 显示和修改状态的实用程序 编程工具的实用程序 其他的实用程序 控制结构 1.文件查找与文件列表 1.3.1.根据文件名或
正则
表达式匹配搜索 1.3.2.否定参数 1.3.3.基于目录深度的搜索 1.3.4.根据文件类型搜索 1.3.5.根据文件时间进行搜索 1.3.6.基于文件大小进行搜索 1.3.7.删除匹配的文件 1.3.8.基于文件权限和所有权的匹配 1.3.9.结合find执行命令或动作 1.3.10.让find跳过特定的目录 2.用grep在文件中搜索文本
正则
表达式 2.1.在文件中搜索一个单词 2.8.1.递归搜索文件 2.8.2.忽略样式中的大小写 2.8.3.用grep匹配多个样式 2.8.4.在grep搜索中包括或排除文件 2.8.5.使用0值字节后缀的grep与xargs 2.8.6.grep的静默输出 2.8.7.打印匹配文本之前或之后的行 3.用sed处理文本 3.6.1.移除空白行 3.6.2.已匹配字符串标记& 3.6.3.子串匹配标记\1 3.6.4.组合多个表达式 3.6.5.引用 4.用
awk
处理数据流 4.1.工作原理 4.2.补充内容 4.2.1.特殊变量 4.2.2.将外部变量值传递给
awk
4.2.3.用getline读取行 4.2.4.用样式对
awk
的行进行
过滤
4.2.5.设置字段定界符 4.2.6.从
awk
中读取命令输出 4.2.7.在
awk
中使用循环 后续
Linux/Unix社区
23,121
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章