首页 > 代码库 > 《跟阿铭学Linux》第11章 正则表达式:课后习题与答案
《跟阿铭学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章 正则表达式:课后习题与答案
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。