13、Linux基础--grep、sed、awk三剑客综合运用
考试
1、找出/proc/meminfo文件中以s开头的行,至少用三种方式忽略大小写
[root@localhost ~]# grep -E '^[sS]' /proc/meminfo
[root@localhost ~]# sed -r -n '/^[sS]/p' /proc/meminfo
[root@localhost ~]# awk '/^[sS]/{print $0}' /proc/meminfo
[root@localhost ~]# grep -iE '^s' /proc/meminfo
2、显示当前系统上的以root,centos或者user开头的信息
[root@localhost ~]# grep -rE '^(root|centos|user)' /etc/
3、找出/etc/init.d/functions文件下包含小括号的行
[root@localhost ~]# grep -E '\(|\)' /etc/init.d/functions
4、输出指定目录的基名
[root@localhost /etc/sysconfig]# pwd | awk -F/ '{print $NF}'
5、找出网卡信息中包含的数字
[root@localhost /etc/sysconfig]# grep -oE '[0-9]+' /etc/sysconfig/network-scripts/ifcfg-ens3[23]
6、找出/etc/passwd下每种解析器的用户个数
{"bash": 10, "sh": 9, "zsh": 1}
数组
[root@localhost /etc/sysconfig]# awk -F: '{arr[$NF]++}END{for(i in arr){print i,arr[i]}}' /etc/passwd
7、获取网卡中的ip,用三种方式实现
[root@localhost /etc/sysconfig]# ip a | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}'
[root@localhost /etc/sysconfig]# ip a | sed -r -n '/([0-9]{1,3}\.){3}[0-9]{1,3}/p'
[root@localhost /etc/sysconfig]# ip a | awk '/([0-9]{1,3}\.){3}[0-9]{1,3}/{if(NR==3){print $2}else{print $2,$4}}'
8、搜索/etc目录下,所有的.html或.php文件中main函数出现的次数
[root@localhost ~]# grep -rE 'main' `find /etc/ -name "*.html" -o -name "*.php" | xargs ` | wc -l
9、过滤掉php.ini中注释的行和空行
这里;是注释
^$是获取空行
[root@localhost ~]# yum install php php-devel
[root@localhost ~]# grep -vE '^\ *;|^$' /etc/php.ini
10、找出文件中至少有一个空格的行
[root@localhost ~]# grep -E '\ +' /etc/php.ini
11、过滤文件中以#开头的行,后面至少有一个空格
[root@localhost ~]# grep -E '^#\ +' /etc/fstab
12、查询出/etc目录中包含多少个root
[root@localhost ~]# grep -roE 'root' /etc/ | wc -l
13、查询出所有的qq邮箱
[root@localhost ~]# grep -E '[0-9a-zA-Z-_]+@qq\.com'
14、查询系统日志中所有的error
[root@localhost ~]# grep -E 'error' /var/log/messages
15、删除某文件中以s开头的行的最后一个词
[root@localhost ~]# grep -Ei '^s' 11.txt | grep -oE '[0-9a-zA-Z]+' | xargs | awk '{for(i=0;i<(NF-1);i++){print $i}}'
16、删除一个文件中的所有数学
[root@localhost ~]# sed -r 's/[0-9]//g' 11.txt
17、显示奇数行
[root@localhost ~]# awk -F: 'NR%2==1{print $0}' /etc/passwd
18、删除passwd文件中以bin开头的行到nobody开头的行
[root@localhost ~]# sed -r '/^bin/,/^nobody/d' /etc/passwd
19、从指定行开始,每隔两行显示一次空行
[root@localhost ~]# awk -F: '{n=5;if(NR<n){print $0}else{if((NR-5)%2==0){print "---"};print $0}}' /etc/passwd
20、每隔5行打印一个空行
[root@localhost ~]# awk -F: '{if(NR%5==0){print " "}; print $0}' /etc/passwd
21、不显示指定字符的行
[root@localhost ~]# grep -vE 'g' 2.txt
22、将文件中1到5行中aaa替换成AAA
[root@localhost ~]# sed -r '1,5s/aaa/AAA/g' 13.txt
23、显示用户id为奇数的行
[root@localhost ~]# awk -F: '$3%2==1{print $0}' /etc/passwd
24、显示系统普通用户,并打印系统用户名和id
[root@localhost ~]# awk -F: '$3>=1000{print $1, $3}' /etc/passwd
25、统计nginx日志中独立用户数(ip维度计算)
[root@localhost ~]# awk '/([0-9]{1,3}\.){3}[0-9]{1,3}/{arr[$1]++}END{for(i in arr){print i}}' access.log
26、统计php.ini中每个词的个数
[root@localhost ~]# grep -oE '[0-9a-zA-Z]+' /etc/php.ini | awk '{arr[$1]++}END{for(i in arr){printf "%-15s | %-5d\n", i, arr[i]}}'
27、实时打印nginx的访问ip
28、统计1分钟内访问nginx次数超过10次的ip
30、统计访问nginx前10的ip
13、Linux基础--grep、sed、awk三剑客综合运用的更多相关文章
- Linux命令-grep,sed,awk
grep (global search regular expression[RE] and print out the line) 正则表达式全局搜索并将行打印出来 在文件中查找包含字符串" ...
- Linux学习grep,sed,awk工具的使用
1.grep:根据模式搜索文本并将符合模式的文本显示出来(pattern模式:由文本字符和正则表达式元字符所匹配出来的条件) 注:alias grep='grep --color' -c:打印符合要求 ...
- Linux三剑客grep/sed/awk
grep/sed/awk被称为linux的“三剑客” grep更适合单纯的查找或匹配文本: sed更适合编辑匹配到的文本: awk更适合格式化文本,对文本进行较复杂各式处理: Grep --color ...
- linux三剑客grep|sed|awk实践
最好先学习正则表达式的基本用法,以及正则表达式BREs,EREs,PREs的区别 此坑待填 grep sed awk
- Linux基础命令-Nginx-正则表达式( grep sed awk )-Shell Script--etc
Linux基础使用 学习内容博客 内存 查看swap分区信息 > swapon -s 添加swap分区 > mkswap /dev/sdb2 > 激活 swapon -a /dev/ ...
- [svc]linux正则实战(grep/sed/awk)
企业实战: 过滤ip 过滤出第二行的 192.168.2.11. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ine ...
- 【Linux】 字符串和文本处理工具 grep & sed & awk
Linux字符串&文本处理工具 因为用linux的时候主要用到的还是字符交互界面,所以对字符串的处理变得十分重要.这篇介绍三个常用的字符串处理工具,包括grep,sed和awk ■ grep ...
- 三个支持正则表达式的行处理的工具: grep/sed/awk
grep: 全称Global Regular Expression Print, 是干什么的,不多说了: 用法:grep [-options] [pattern] [filename] 选项: -c: ...
- linux 三剑客命令(grep,sed ,awk)
grep 命令 :强大的文本’搜索’工具 1.grep -n 'word' file_name 在file_name文件中找到word所在的所有行并显示.-n 为显示行号. 2 ...
随机推荐
- 前后端分离 导致的 静态页面 加载 <script type="module" > 报CORS 跨域错误,提示 blocked by CORS policy
1.前言 静态页面 加载 <script type="module" > 报CORS 跨域错误,提示Access to script at ftp:///xxx.js ...
- 新增访客数量MR统计之数据库准备
关注公众号:分享电脑学习回复"百度云盘" 可以免费获取所有学习文档的代码(不定期更新)云盘目录说明:tools目录是安装包res 目录是每一个课件对应的代码和资源等doc 目录是一 ...
- 软件开发架构与网络之OSI七层协议(五层)
本期内容概要 python回顾 软件开发架构 网络理论前瞻 osi七层协议(五层) 以太网协议 IP协议 port协议 交换机 路由器 局域网 广域网 TCP协议 三次握手 四次挥手 UDP协议 内容 ...
- SSRF打内网redis
0x00 redis基础 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统.Redis是一个开源的使用AN ...
- 阿里神器 Seata 实现 TCC模式 解决分布式事务,真香!
今天这篇文章介绍一下Seata如何实现TCC事务模式,文章目录如下: 什么是TCC模式? TCC(Try Confirm Cancel)方案是一种应用层面侵入业务的两阶段提交.是目前最火的一种柔性事务 ...
- YC-Framework版本更新:V1.0.5
分布式微服务框架:YC-Framework版本更新V1.0.5!!! 本次版本V1.0.5更新 所有模块依赖调整: 部分问题修复: Nacos模块化: Eureka模块化: 支持SOA(即WebSer ...
- 《剑指offer》面试题32 - I. 从上到下打印二叉树
问题描述 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印. 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回 ...
- sql多行合并一列
with a as( select * from( select 1 userId , '天津' province union select 1 userId , '北京' union select ...
- 常用字符的ASCII码
字母 ASCII码 十进制数 0 00110000 48 9 00111001 57 A 01000001 ...
- MyCms 开源自媒体系统后台 角色管理&管理员管理操作说明
角色管理 功能说明 一.添加角色基本信息 填写角色名称.简要描述(一般以角色功能.职位等信息来命名) 二.角色授权 点击右侧的"授权"按钮,进行对角色授权,选择需要授权的功能模块后 ...