正则表达式和grep、sed工具
what is 正则表达式 一种处理字符的方法,只要命令工具(例:grep、sed、awk等)支持这种方法,就可以用来处理正则表达式字符串。通过特殊字符的帮助,我们就容易达到查找、删除、替换特定字符串的命令程序。 用途 信息过滤,信息匹配,获取有用信息 常用的表达式含义
grep grep[-n 行号] [-v 反选] [-A 输出后几行] [-B 输出前几行] [-C 输出前后几行] [-i 忽略大小写] [-o 打印匹配到的而不是整行] [-b 匹配到的字符偏移] [-l 搜索匹配文本在那个文件中] [-L 和-l相反] [-e 匹配多个] [-r或-R 递归搜索,可指定include和exclude] [-q 静默输出成功返回0] [--color=auto 颜色高亮]
PS:有时候因为语系的不同,用到类似[a-z]这样的表达式的时候会有错误,编码顺序不同导致的例如zh_CN.big5和C两种语系
可用[:lower:]代替 sed:流编辑器 stream editor 可以对数据进行:插入、删除、替换并打印到屏幕上,或进行直接写入,还可以进行部分数据查找替换、已匹配字符串标记和子串匹配标记 sed [-i 直接写入] [-e 连续操作] [-n 静默模式] ‘ 操作内容 ’ 1:新增a,i 删除d 替换c 显示p,-n //(根据行号)
1 root:x:0:0:root:/root:/bin/bash
1 root:x:0:0:root:/root:/bin/bash
1 root:x:0:0:root:/root:/bin/bash
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin 2:部分数据查找替换 sed ‘s/要替换字段/新字段/g’ # 's///ng' 每行第n个开始才进行替换 例如:截取eth0的ip地址
和正则表达式结合 3:已匹配字符串标记& 4:字串匹配标记12 格式:'s/() ()/1 2' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- swift – 从一个单词走到另一个单词的更快的解决方案
- swift – 由于信号命令失败:分段错误:11 | Xcode 7.2
- Jlink与MDK 联调设置 Flash Download failed
- 如何使字段在C#中仅调试?
- c – 如何在CUDA应用程序中构建最佳速度的数据
- ruby-on-rails – 如何使用真实世界数据库对Rails应用程序进
- 阻止Xcode将文本转换为超链接?
- c# – 从具体化的“System.DateTime”类型到“System.Strin
- XML encoding list
- ruby-on-rails – Rails Omniauth for Linkedin无法正常工作