1、正则表达式
/ 定界符,标示正则表达式开始和结束的字符
. 匹配任意单个字符
[] 匹配方括号内的任意一个字符 [a-z] [a-zA-Z][0-9][0..3]
[^]标示匹配除了括号内的内容
* 匹配0个或者多个字符
\ 转移字符,把后面的第一个字符做普通字符用 \*=*
\<\> 匹配括号里的单词,\<with\>指包括with的行
^ 匹配一行的开始
$ 匹配一行的结束
x{m,n\} 匹配包括m--n个x的行
\( \) 转义圆括号,可以把正则表达式包括进来
\{10\} 表示通配10位
2、文本搜索工具grep
[root@www ~]# grep [-acinv] [--color=auto] ‘
搜寻字符串‘ filename 选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 ‘搜寻字符串‘ 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串‘ 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔!
(1)多个文件查询
grep "sort" *.doc #见文件名的匹配
(2)行匹配:输出匹配行的计数
grep -c "48" data.doc #输出文档中含有48字符的行数
(3)显示匹配行和行数
grep -n "48" data.doc #显示所有匹配48的行和行号
(4)显示非匹配的行
grep -vn "48" data.doc #输出所有不包含48的行
(5)大小写敏感
grep -i "ab" data.doc #输出所有含有ab或Ab的字符串的行
grep -i "^root" words //root开头的行
grep -i "root$" words //root结尾的行
grep -i "^a.\{5\}*" words //a开头有五个字符的行
grep -i "^a.\{5\}$" words //a开头长度为5的行
grep "^.\{9\}z$" words //总共10位,z结尾的行
3、文本批处理工具sed
4、文本批处理工具awk
原文:http://www.cnblogs.com/skyfly0772/p/5026338.html