Linux鸟哥视频学习笔记21

正则表达式1
grep
Linux鸟哥视频学习笔记21

Linux鸟哥视频学习笔记21

Linux鸟哥视频学习笔记21
实操
cd /tmp
cat -n test
grep '^[a-z]' test 显示出以字母为开头的所有行内容
grep '^[tg]' test 显示出以字母t或g为开头的所有行内容
grep '!$' test 显示出所有以感叹号为结尾的行内容
grep '\.$' test 显示所有以句号结尾的,这里用到了转义

Linux鸟哥视频学习笔记21
 实操
grep 'h...o' test 显示以h开头中间有三个字符,以o结尾行内容,这里一个点代表一个字符
grep 'goo*g' test 显示出所有以goo开头,中间为若干内容,以g结尾的行内容
grep '[.!]' test 显示出所有包含句号或叹号的行内容
grep '[^.!]$' test 显示不是以叹号或句号结尾的内容
grep 'go\{2,5}g' test 中间出现2到5个o,以g结尾的内容

注:在万用字符当中,*代表的是0到无限多个字符的意思,但是在正则表达式中,*表示重复前一个字符0到无限多个的意思,使用的意义并不相同,不要搞混了。

printf
Linux鸟哥视频学习笔记21


?:上一个执行命令所回传的值
$:表示当前shell的进程号

实操
ll
echo &? 返回值为0 则上一条命令是正确的
ll /home/lll 返回了错误的信息
echo &?  返回值为2 则表示上一条命令是错误的 
在编写shell脚本时,可以根据这一条命令判断上一条命令是否出错
echo $$ 前一个$表示要取后一个变量的意思,后一个$表示当前的pid
ps 显示pid 进程号