之前使用的文本处理工具远远满足不了,我们对数据的掌控欲,我们还需要更加强大的文本查看工具和管理工具。文本管理工具,这里我们先说一个交互式的工具,为什么要用交互式的,马上分晓。
1另一个功能强大的文本查看工具
1
2
3
4
5
6
7
|
grep
它也是一个文本行查看器。之前使用的文本查看工具都有一个特点,不能查找,我们找数据都是使用剪切的方法。
grep
[option] ‘arg’
file
option的选项
-o 只显示arg匹配到的内容
-c 给每行编号显示
-E 以扩展正则表达式的形式使用arg
-e 使用多个arg
|
嗯,这个命令很简单,但是与之配套的正则表达式才是重点,才是难点。
2正则表达式
正则表达式很基本,很多编程语言都内嵌正则表达式的语法,他们的语法格式很像,只是标示的符合不同而已。这里我们主要学习linux中使用的格式。
1字符匹配
[abc] 匹配a或者b或者c
. 匹配任意字符
[:lower:] 小写字母,等于[a-z]
[:upper:] 大写字母,等于[A-Z]
[:alpha:] 全部字母
[:alnum:] 字母和数字
[:punct:] 全部符号
2次数匹配
\+ 一次以上
\? 0次或1次
* 任意次
3位置锚定
^ 行首锚定
$ 行尾锚定
\< 词首锚定
\> 词尾锚定
4分组
\(\) 把某部分内容作为一个组来锚定
| 把组内的内容分为多个块,多个块匹配到其中一个就显示
3vim交互式文本编辑工具
1查看和查找模式
Vim打开文件后,就是这个模式
u 向上翻一屏
d 向下翻一屏
b 向上翻半屏
k 向下翻半屏
上下键 上一行下一行
左右键 前后一个字符
/ 这是使用查找,后面跟相应字符,vim就会从当前行开始向下找对应的字符,找到后高亮显示。按n显示下一个匹配到的,N显示上一个匹配到的。这里注意字符中带/需要使用\转意。
? 从后往前找
2编辑模式
编辑模式分为插入模式和替换模式。
i 进入插入模式
r 进入替换模式
3命令模式
输入:后就可以使用正则表达式匹配想匹配的行了。
命令模式的命令格式:定界符操作符
定界符:
% 匹配全文
1,10 匹配1到十行中的内容,匹配其它的行范围的格式自己领悟。
/part/,/part/ 被模式匹配到的行到模式匹配到的行,/part/也可以行1,10组合使用。
操作符
s@@@ s查找被第二个字段中匹配到的内容替换为第三个字段,最后一个字段,可以跟g也可以不跟,不跟代表匹配到的内容只替换第一次匹配到的,跟g代表替换到最后一个。
\(\) 第二个字段可以使用()分组,然后可以在第三字段中是\1,\2引用,这里第三个字段引用的数字代表第二个字段自左向右的第几个括号中的内容。
4查看模式里有很多高能的用法
G 到底部
g 到到顶部
10G 到第十行
#yy 复制#行
#dd 剪切#行
p 粘贴
“ayy vim中有好几个粘贴板,普通的yydd等等命令使用匿名的粘贴板。还有一些命名的粘贴板,a-z,我们可以灵活使用。
总结
Vim和grep命令的使用格式没那么简单,还有很多高能用法,一个务实的人不需要那么多繁华。
本文转自Ailu0li 51CTO博客,原文链接:http://blog.51cto.com/oldking/1876025,如需转载请自行联系原作者