day17 阶段测验
题目
1、找出/proc/meminfo文件中以s开头的行,至少用三种方式忽略大小写
有以下几种方法:
[root@localhost ~]# grep -iE "^s" /proc/meminfo
[root@localhost ~]# grep -E "^[sS]" /proc/meminfo
[root@localhost ~]# grep -E "^(s|S)" /proc/meminfo
[root@localhost ~]# sed -rn '/^[sS]/p' /proc/meminfo
[root@localhost ~]# sed -r -n '/^(s|S)/p' /proc/meminfo
[root@localhost ~]# awk '/^(s|S)/' /proc/meminfo # 用awk加上上边的几行正则也可以实现
3、找出/etc/init.d/functions文件下包含小括号的行
[root@localhost ~]# egrep '[()]' /etc/init.d/functions
4、输出指定目录的基名
[root@localhost ~]# pwd | awk -F/ '{print $NF}'
5、找出网卡信息中包含的数字
[root@localhost ~]# egrep -o "[0-9]+" /etc/sysconfig/network-scripts/ifcfg-*
6、找出/etc/passwd下每种解析器的用户个数
[root@localhost ~]# awk -F: '{arr[$NF]++}END{for(i in arr){printf "%-15s %d\n" ,i,arr[i]}}' /etc/passwd
7、过滤网卡中的ip,用三种方式实现
[root@localhost ~]# ip a | egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3}"
[root@localhost ~]# ip a | sed -rn '/([0-9]{1,3}\.){3}[0-9]{1,3}/p'
[root@localhost ~]# ip a | awk '/([0-9]{1,3}\.){1,3}[0-9]{1,3}/{print $2,$4}' | awk '{if(NR==1){print $1}else {print $0}}'
8、搜索/etc目录下,所有的.html或.php文件中包含的main函数出现的次数
[root@localhost ~]# egrep -co "main" $(find /etc/ -name "*.html" -o -name "*.php")
[root@localhost ~]# egrep -o "main" $(find /etc/ -name "*.html" -o -name "*.php") | wc -l
9、过滤/etc/fstab中注释的行和空行
[root@localhost ~]# egrep -v "^ *#|^$" /etc/fstab
[root@localhost etc]# sed -rn '/^ *#|^$/p' /etc/fstab
[root@localhost etc]# awk '/^ *#|^$/' /etc/fstab
10、找出文件中至少有一个空格的行
[root@localhost ~]# egrep " +" /etc/passwd
[root@localhost etc]# sed -rn '/ +/p' /etc/passwd
[root@localhost etc]# awk '/ +/' /etc/passwd
11、过滤文件中以#开头的行,后面至少有一个空格
[root@localhost ~]# egrep "^ *# +" /etc/fstab
[root@localhost ~]# sed -rn '/^ *# +/p' /etc/fstab
12、查询出/etc目录中包含多少个root
[root@localhost ~]# egrep -oR "root" /etc | wc -l
13、查询出所有的qq邮箱
[root@localhost ~]# egrep '[0-9a-zA-Z]+@qq.com' 1.txt
14、查询系统日志(/var/log/message)中所有的error
[root@localhost ~]# egrep -i 'error' /var/log/message
16、删除一个文件中的所有数学
[root@localhost ~]# sed -r 's/[0-9]//g' 1.txt
17、显示奇数行
[root@localhost ~]# awk -F: 'NR%2{print $0}' /etc/passwd
18、删除passwd文件中以bin开头的行到nobody开头的行
[root@localhost ~]# sed -r '/^bin/,/^nobody/d' /etc/passwd
20、每隔5行打印一个空格行
[root@localhost ~]# awk '{if(NR%5==0){print "%s\n\n"}else {print $0}}' /etc/passwd
21、不显示指定root字符的行
[root@localhost ~]# egrep -v 'root' /etc/passwd
22、将文件中1到5行中aaa替换成AAA
[root@localhost ~]# sed -r '1,5s/aaa/AAA/g' 1.txt
23、显示用户id为奇数的行
[root@localhost ~]# awk -F: '{if($%2){print $0}}' /etc/passwd
25、统计nginx日志中访问量(ip维度计算)
[root@localhost ~]# egrep -c '([0-9]{1,3}\.){3}[0-9]{1,3}' /var/access
26、统计访问nginx前10的ip
[root@localhost ~]# egrep -o "^([0-9]{1,3}\.){3}[0-9]{1,3}" /var/access.log | sort | unip -c | sorc -rn | head -10
知识储备:
sort : 处理排序(默认,按照第一个字符进行排序)
-n : 按照数值得大小进行排序
-r : 倒序排序
uniq :处理重复(只能够处理相邻的重复)
-c : 打印出重复次数
head :从文本头部开始读数据(默认只读前10行)
-n : 读前n行
27、统计nginx日志中的访问人数
[root@localhost ~]# egrep -o "^([0-9]{1,3}\.){3}[0-9]{1,3}" /var/access.log | awk '{arr[$0]++}END{print length(arr)}'
day17 阶段测验的更多相关文章
- bootstrap阶段测验【答案】
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...
- bootstrap阶段测验【问题】
- 阶段01Java基础day17集合框架03
17.01_集合框架(HashSet存储字符串并遍历) A:Set集合概述及特点 通过API查看即可 B:案例演示 HashSet存储字符串并遍历 HashSet<String> hs = ...
- 2016福州大学软件工程Beta阶段团队作业成绩汇总
1.评分规则 本次Beta阶段团队作业评分方法如下: 团队得分=[[7次scrum过程评分+(小组互评得分+教师评分)/2]/2],其中过程.小组.教师各30分 说明:由于没有规定提交团队贡献比,因此 ...
- 2016福州大学软件工程第五、六次团队作业-Alpha阶段成绩汇总
1.本次作业成绩统计结果: 本次Alpha阶段团队作业公布如下: 表格说明: PE:贡献百分比 YS:演示评分(满分15分) BK:博客评分(满分15分) SH:事后诸葛亮环节(满分5分) P:个人分 ...
- 团队项目(六)- Alpha阶段项目复审(江山代有才人秃)
排名仅代表个人观点: 小组名字 优点 缺点&Bug报告 排名 中午吃啥队 从测试链接来看,作为一个订餐的APP,有着跟现在的订餐APP相似的功能,很完整,是一个踏踏实实做出来的项目 向购物车中 ...
- HTML5和CSS3阶段,我是如何学习的?
经过一个月的学习,我收获了许多,今天的测验是做一个企业中文网站,令我自己感到吃惊的是,我前前后后用了4个小时就完成了,这在一个月前根本不可能,因为对布局属性的理解还不够深刻,常常会在调试中浪费大量时间 ...
- 从0开始,手把手教你开发并部署上线一个知识测验微信小程序
上线项目演示 微信搜索[放马来答]或扫以下二维码体验: 项目源码 项目源码 其他版本 Vue答题App实战教程 Hello小程序 1.注册微信小程序 点击立即注册,选择微信小程序,按照要求填写信息 2 ...
- 计算机二级Python(第一阶段)
介绍 本篇文章主要针对于计算机二级考试的崽崽,当然想了解Python和学习Python的崽崽也是可以看本篇文章的:毕竟,手机和电脑都可以运行Python:本篇我文章虽然是笔记,但是也纯靠手打,希望 ...
随机推荐
- 开发笔记-----Ajax 基础使用
一.GET 方式的用法: 1 <!--html --> 2 <div class="layui-form"> 3 <div class="l ...
- Netfilter和iptables介绍
前言 在开始Kubernetes的网络之前我们先来学习Netfilter,Netfilter可能了解的人比较少,但是iptables用过 Linux的都应该知道.本文主要介绍Netfilter与ipt ...
- Git 修改已提交的commit注释
两种情况: 1.已经将代码push到远程仓库 2.还没将代码push到远程仓库,还在本地的仓库中 这两种情况下的修改大体相同,只是第一种情况最后会多一步 下面来说怎么修改 先搞清楚你要修改哪次的提交注 ...
- 升级npm后版本依然没有变 原来是全局npm设置的锅
最近准备给家里的老爷机打一个 react 的环境 win7系统还不算老~ 不过!由于很多年以前装的node了版本很低,所以赶紧去官网 下了一个 最新的稳定版本的. 卸载和安装都费了老大力了. 以为光明 ...
- R数据分析:潜类别轨迹模型LCTM的做法,实例解析
最近看了好多潜类别轨迹latent class trajectory models的文章,发现这个方法和我之前常用的横断面数据的潜类别和潜剖面分析完全不是一个东西,做纵向轨迹的正宗流派还是这个方法,当 ...
- [spojSUBLEX]Lexicographical Substring Search
建立后缀自动机,对于同一个节点,出现次数是相同的(right的大小),同时满足单调性(长度越长出现次数越少),所以只需要考虑最长的串即可. PS:似乎也并不需要求依次后缀的max,不知道为什么-- 1 ...
- [spojDIVCNT1]Counting Divisors
定义 约定1:以下分数都是最简,且令$\frac{1}{0}$有意义,其大于其余分数,并称平行于$y$轴的直线斜率为$-\frac{1}{0}$ 分数加:对于分数$a=\frac{a_{1}}{a_{ ...
- [atACL001F]Center Rearranging
有一个(比较显然又有点假的)结论:最优方案中(若存在),每一个数(指$3n$个)最多被移动1次 先$o(n^{2})$枚举移动到队首和队尾的操作次数(即目标状态的一个前缀和后缀),判定能否合法 首先, ...
- [bzoj4942]整数
考虑暴力,即需要考虑如何实现$\pm 2^{k}$,相当于要找到之后的第一个0或者之前的第一个1(维护区间是否全0/1即可),然后区间重置,可以用线段树维护,复杂度为$o(900n)$(a的划分和线段 ...
- .Net Crank性能测试入门
Crank 是微软新出的一个性能测试框架,集成了多种基准测试工具,如bombardier.wrk等. Crank通过统一的配置,可以转换成不同基准测试工具命令进行测试.可参考Bombardier Jo ...