《跟阿铭学Linux》第11章 正则表达式:课后习题与答案
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《跟阿铭学Linux》第11章 正则表达式:课后习题与答案相关的知识,希望对你有一定的参考价值。
1. 如何把 /etc/passwd 中用户uid 大于500 的行给打印出来?
awk -F ‘:‘ ‘$3 > 500‘ /etc/passwd
2. awk中 NR,NF两个变量表示什么含义?awk -F ‘:‘ ‘{print $NR}‘ /etc/passwd 会打印出什么结果出来?
NR表示行数,NF表示一共有多少段
awk -F ‘:‘ ‘{print $NR}‘ /etc/passwd 会依次打印对应的行数的段,第一行打印第一段,第二行打印第二段... 到了最后就打印空行了
3. 用grep把1.txt文档中包含‘abc‘或者‘123’的行过滤出来,并在过滤出来的行前面加上行号.
grep -E -n ‘abc|123‘ 1.txt
4. grep -v ‘^$‘ 1.txt 这样会过滤出哪些行?
会把非空行过滤出来
5. ‘.‘ ‘*‘ 和 ‘.*‘ 分别表示什么含义?‘+‘和‘?‘表示什么含义,这五个符号是否可以在grep中使用,是否可以在egrep、sed以及awk中使用?
‘.‘:表示一个任意的字符;
‘*‘:表示前面紧邻的那个字符有零个或多个,即前面紧邻的那个字符可以不存在,也可以有多个;
‘.*‘:表示零个或多个的任意字符,包括空行;
‘+‘:表示前面紧邻的那个字符有一个或多个;
‘?‘:表示前面紧邻的那个字符有零个或一个;
grep和sed可以使用‘.‘ 、 ‘*‘ 和 ‘.*‘,但是不能使用‘+‘和‘?‘ egrep和awk全部可以使用。
本文出自 “香飘叶子” 博客,请务必保留此出处http://xpleaf.blog.51cto.com/9315560/1894305
以上是关于《跟阿铭学Linux》第11章 正则表达式:课后习题与答案的主要内容,如果未能解决你的问题,请参考以下文章