非正常退出时的文件恢复:
1.非正常退出后再次登录执行vim /test时,会出现这样的界面提示:
2.执行vim -r test后再次执行vim /test时,出现下面的提示界面:
3.未删除.test.swp文件时,即使恢复了文件仍然提示,恢复并删除才算完成:
环境变量:
grep(基本型)
参数:
^ 匹配行首
$匹配行尾
.
匹配单字符
* 在正则表达式中表示匹配>= 0 个前面出现的字符,而在bash中*表示>=0个任意字符
[]里面可以写很多,但是值匹配一个,如果都到呢,就都输出来
\ 转义符,如’\.$’表示以. 结尾
grep –v ‘12’/share/date 在/share/date中不含12的行,只要有12的行就不显示。但是grep ‘【^2】’/share/date表示非2的的都可以显示,如果这一行的内容只有23,那么3是符合条件的,仍然显示这一行。区别很微妙,操作一下就明白了……
^$空行
^…$只有3个字符的行
^.*$匹配行中任意字符
shell代码.*用的非常多的,匹配任意个任意种类的字符(即>=0个),比如到am和bm之间有任意多个任意字符时,用’am.*bm’,可以到到ambm,amhbm,amfsbm,……总之am与bm之间有>=0个字符就是了。
另外am和bm之间有任意多个字符o时,用’amo*bm’,(不是amo.*bm哦),可以到ambm,amobm,amoobm,amooobm……如果是在h和g之间有至少2个o呢,就是’hooo*g’,到
hoog,hooog,foooog……有点小啰嗦~~~
-i 不区分大小写,如-i ‘the’就可以到不区分大小写的the
o\{a,b\}既然功能相似就一起吧,这个表示匹配的次数,如果在h 和g之间有2个o就是’ho\{2\}g’,如果至少2就是’ho\{2,\}g’ ,
如果是2到5个呢,就是’ho\{2,5\}g’啦……
[IiNn]大写或小写i或n,但是[Ii][Nn]只能到i和n,为什么,下图。
[^0-9a-zA-Z]非数字且非字母
grep ‘12[0-3]’/share/date 含120或121或122或123,都存在呢,就都显示出来呗~~~
grep ‘^[^12]’/share/date 查开头不是12的行
grep ‘[Ss]tep’Step或step
grep –E ‘134 | 159’/share/test134或159,用管道符号时必须加–E ,因为grep是基本型的,如果是延伸型的egrep就不用加-E啦,所以只用grep ‘134 | 159’/share/test会不到。但是为什么用egrep ‘134 | 159’/share/test到了,却没有行号和颜呢,因为提前已经在~/.bashrc设置好了alias grep = ‘grep -n --color=auto ’,加入这条语句后执行source ~/.bashrc重启终端生效,或者关掉终端再打开。
egrep(延伸性)
egrep是grep的延伸,它有更多的功能,主要表现在上面提到的管道符号上,另外还有一些……
如果想去掉以#开头的注释行和空白行,用基本型grep表示为grep –v ‘^#’ /share/test | grep –v ‘^$’
用延伸型的egrep表示为
egrep -v ‘^#|^$’/share/test
这样看区别很明显吧!!!
‘go?d’g和d之间有0个或1个o,即gd或god
‘go+d’g和d之间有>=1个o,即god或good或goood……
‘go*d’g和d之间有>=0个o,即gd或god或good或goood……‘go.*d’go和d之间有>=0个任意字符,即god或gohd或gostd……‘g(oo|la)d’good或glad,注意grep中用(),而grep用[]
‘A(xyz)+W’开头是A结尾是W,中间有>=1个字符串xyz,如xyz,xyzxyz……例如执行echo ‘AxyzxyzxyzxyzW’|egrep ‘A(xyz)+W’
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论