正则表达式及基础命令(3)
来源:互联网 发布:小米快传传软件 编辑:程序博客网 时间:2024/05/16 11:07
正则表达式及基础命令(3)
grep 实现文本内容检索和过滤 和grep类似的还有 egrep fgrep。grep主要是根据正则表达式检索文档。使用方法:
grep [option]‘pattern’ filename
option选项:
-b 在匹配上的每一行前加上所在块儿号。
-i 比较式忽略大小写。
-n 显示匹配到行在原文中的行数。
-v 显示没有匹配到的行。
-l 显示到匹配字符的文件。
-A n 显示匹配到的字符后n行的内容
-B n 显示匹配到的字符前n行的内容
-C n 显示匹配到的字符前后各n行的内容
‘pattern’就是指正则表达式。 正则表达式包含一堆的元字符,
正则表达式的使用:
单词定位:
^ 行首定位符。
$ 行尾定位符。
mode/> 表mode在行尾。
/<mode 表mode在行首。
/<mode/> 在一行中仅有mode字符。
使用实例:grep ‘^mode’ /tmp/aa.txt。显示在/tmp/aa.txt中出现首字母为mode的行。
字符匹配:
. 匹配任意单个字符。
[ab] 出现a或b任意一个字符。
[:alpha:] 和bash中通配符一样,都表示任意一个字符。(同样适用于[:alnum:]等)
/(ABC/) 然后/n 引用第n个小括号。
grep匹配时贪婪模式,即尽可能长的匹配字符。eg:grep ‘ab.*’ /tmp/aa.txt。在/tmp/aa.txt中有字符串abbbb,则会匹配到abbbb所有字符,而不仅是前面的ab
次数匹配:
* 匹配0到任意次数。
c/{m,n/} 表示c至少出现m次至多n次。
c/{m,/} 表示c至少出现m次。
c/{,n/} 表示c至多出现n次
c/{n/} c出现n次。
颜色的显示:
--color=auto
扩展正则表达式多的几个命令
次数匹配:
+ 个数1到任意多次。
? 匹配0或1次。
a|b a或者b。ab|ac表abc或aac。如想表示ab 或ac则用(ab)|(ac)
但同时扩展正则表达式不能使用 /{/}和/(/)
基础命令(3)
cut文本的剪切
eg: cut –d:-f1,3 /etc/passwd 表示以:为分隔符,截取/etc/passwd中每一行的第一部分和第三部分。
wc: 做文件行数,字符数,字节数的统计。
-w 单词统计
-l 行数统计
-c 字节数
-m 字符数
sort: 排序命令,只修改输出的内容,不修改源文件,默认排序是按照字符排序的,比如 1 在 2 前面,而不是按数值大小。
-r 逆序排列
-n 按数值大小排列
-f 忽略大小写
-u 忽略排序后重复的行
-t 指定分隔符
-k 指定字段。与-t一块儿使用,方法:sort –t: -k2 /etc/passwd 表示以冒号为分隔符,以第二段排序。
uniq 显示文件内不重复的行,注意:不重复的行必须相邻否则不能过滤,所以通常与sort连用。
diff 比较两个文件,而且产生补丁。
diff filename1 filename2>test.pach
得到补丁文件test.pach然后再filename1上打补丁方法为:patch filename1 test.pach。取消上述补丁方法为:加上参数–R 即:patch –R filename1 test.pach。
aspell 检查文件拼写
aspell [option] <command> file
检查系统认为错误的内容,有很详细的操作说明。常在编程中使用。示例:aspell check test.txt
tr 删除命令。使用示例:echo redhat | tr –d e 表示从redhat中删除e符号。
sed行编辑器
特点:
1. 没有破坏性
2. 不修改源文件
3. sed支持shell脚本
每次处理完一行之后在处理下一行,支持如vim中的 s///操作 eg:sed ‘1,3d’ a.txt 表示删除显示的1到3行。
sed‘/no/d’ a.txt 删除显示含有no的行
- 正则表达式及基础命令(3)
- 正则表达式基础命令
- 【linux学习】Linux文本操作命令及正则表达式基础
- Linux学习日记--基础命令(6)--grep及正则表达式
- 正则表达式(基础)
- 正则表达式(基础)
- Shell基础(四):正则表达式、cut、awk、sed命令
- linux基础命令(二)文件寻址和正则表达式
- find与grep命令简介及正则表达式(转)
- 正则表达式的基础及常见应用(网上转载)
- Java基础练习题 (3)正则表达式
- Linux上的文件管理类命令和bash 的基础特性及正则表达式
- Linux系统入门的一些基础操作命令及正则表达式
- vim全局替换命令及正则表达式
- VIM中的正则表达式及替换命令
- VIM中的正则表达式及替换命令
- VIM中的正则表达式及替换命令
- 快速掌握grep命令及正则表达式
- “火柴棍式”程序员面试题
- 软件工程
- 异步回调和同步回调
- cmake 学习笔记(四)
- 【Accelerated C++】读书笔记(一)
- 正则表达式及基础命令(3)
- 结合SQL Server全文检索对Word内容进行检索的三个方案
- Android 获取设备各种信息以及其它
- 学号、姓名、组号、自动阅卷评分、有问题的题目数
- jquery获取input表单值的代码
- 临时表空间总是满的初步想法(AIX系统,裸设备)
- libgdx 中的particle-editor如何使用
- 优秀程序员的十个良好习惯
- Hibernate配置数据连接池