linux(8)
来源:互联网 发布:web数据库测试 编辑:程序博客网 时间:2024/06/07 03:39
1.grep – 在文本文件中查找一个指定的正则表达式,并把匹配行输出到标准输出
-i 忽略大小写。不会区分大小写字符。也可用 –ignore-case 来指定。
-v 不匹配。通常, grep 程序会打印包含匹配项的文本行。这个选项导致 grep 程序只会不包含匹配项的文本行。也可用–invert-match 来指定。
-c 打印匹配的数量(或者是不匹配的数目,若指定了 -v 选项),而不是文本行本身。也可用 –count 选项来指定。
-l 打印包含匹配项的文件名,而不是文本行本身,也可用–files-with-matches 选项来指定。
-L 相似于 -l 选项,但是只是打印不包含匹配项的文件名。也可用 –files-without-match 来指定。
-n 在每个匹配行之前打印出其位于文件中的相应行号。也可用–line-number 选项来指定。
-h 应用于多文件搜索,不输出文件名。也可用 –no-filename选项来指定。
2.元字符和文本
正则表达式元字符由以下字符组成:
^ $ . [ ] { } - ? * + ( ) | \
然后其它所有字符都被认为是原义字符
- 任何字符:. 匹配在此位置的任意一个字符
$ grep -h '.zip' dirlist*.txt
- 锚点:插入符号和美元符号被看作是锚点,只有在文本行的开头或末尾被找到时,才算发生一次匹配
$ grep -h '^zip' dirlist*.txt$ grep -h 'zip$' dirlist*.txt
- 中括号表达式和字符类
中括号表达式能够指定一个字符集合来被匹配
$ grep -h '[bg]zip' dirlist*.txt
- 否定
$ grep -h '[^bg]zip' dirlist*.txt
- 传统的字符区域
$ grep -h '^[A-Za-z0-9]' dirlist*.txt
- POSIX 字符集
[:alnum:] 字母数字字符。在 ASCII 中,等价于: [A-Za-z0-9]
[:word:] 与 [:alnum:] 相同, 但增加了下划线字符。
[:alpha:] 字母字符。在 ASCII 中,等价于: [A-Za-z]
[:blank:] 包含空格和 tab 字符。
[:cntrl:] ASCII 的控制码。包含了 0 到 31,和 127 的 ASCII 字符。
[:digit:] 数字 0 到 9
[:graph:] 可视字符。在 ASCII 中,它包含 33 到 126 的字符。
[:lower:] 小写字母。
[:punct:] 标点符号字符。在 ASCII 中,等价于:
[:print:] 可打印的字符。在 [:graph:] 中的所有字符,再加上空格字符。
[:space:] 空白字符,包括空格, tab,回车,换行, vertical tab, 和form feed. 在 ASCII 中,等价于: [ \t\r\n\v\f]
[:upper:] 大写字母。
[:xdigit:] 用来表示十六进制数字的字符。在 ASCII 中,等价于:[0-9A-Fa-f]
$ ls /usr/sbin/[[:upper:]]*
? - 匹配零个或一个元素
* - 匹配零个或多个元素
+ - 匹配一个或多个元素
{ } - 匹配特定个数的元素
n 匹配前面的元素,如果它确切地出现了 n 次。
n,m 匹配前面的元素,如果它至少出现了 n 次,但是不多于 m次。
n, 匹配前面的元素,如果它出现了 n 次或多于 n 次。
,m 匹配前面的元素,如果它出现的次数不多于 m 次。
- linux(8)
- 【Linux】linux安装jdk1.8
- 初学Linux[8]--Linux的目录里都装些啥
- Linux入门基础 #8:Linux拓展权限
- Linux centos7安装jdk1.8-Linux
- Linux循序渐进(8)
- Linux Kernel Development (8)
- linux块设备8
- linux inotify 研究8
- Linux 复习备忘录8
- Linux 复习备忘录8
- linux sysfs(8)
- Linux命令8
- linux系统编程8
- 8个Linux技巧
- linux学习总结8
- Linux内核配置(8)
- Linux指令笔记8
- mfc 字符总结,char* cString相互转换
- 函数传参原理
- [总结]视音频编解码技术零基础学习方法
- Js实现简单计算器2 面向对象的方法
- freemarker导出excel
- linux(8)
- 新手学C++多线程编程(5)进程间和线程间通信
- 求两个字符串的最大连续公共字串
- Oracle 中case when的用法
- Android之串口232从不会到开发功能详解
- 常用的adb 命令
- Android 5.0 Camera系统源码分析(5):Camera预览3A流程
- 申请一个带表情的个性网站
- kettle整合到web项目并运用quartz实现定时任务