RedHat运维-Linux文本操作基础-GREP,AWK,SED基础

2024-06-19 20:36

本文主要是介绍RedHat运维-Linux文本操作基础-GREP,AWK,SED基础,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

你不用整理,跟着敲一遍,有个印象,然后把它保存到本地,以后要用再去看,如果有了新东西,你自个再添加。这是我参考同行的,只不过换成了问答的方式而已。不用背,就算是我自己亲自敲,我现在好多也记不住。

二. awk
1. 使用awk命令,过滤出/etc/passwd文件中,包含有字符串“mail”的所有行,命令为_______________________________;
2. 使用awk命令,过滤出/etc/passwd文件中,包含有字符串“opensuse”的所有行,命令为_____________________________;
3. 使用awk命令,过滤出/etc/passwd文件中,包含有字符串“mail”或者“opensuse”的所有行,命令为__________________________;
4. 使用awk命令,过滤出/etc/passwd文件中,字符串“mail”打头或者“opensuse”打头的所有行,命令为_______________________;
5. 假设当前系统的工作目录为/etc/firewalld,如果想结合grep命令,打印出在/etc/firewalld/firewalld.conf中,不以字符“#”开头,且不是空行的所有行,并且用“=”来分割,输出第一和第二列,并且尽可能美观,则命令为___________________________________;
6. 假设当前系统的工作目录为/etc,如果想打印出passwd中包含有字符串“mail”或者“opensuse”的所有行,用冒号分割,输出第一第四列,并且让结果尽可能美观,则命令为____________________________________;
7. 假设当前系统的工作目录为/etc,如果想打印出group中包含有字符串“opensuse”的所有行,用冒号分割,输出第一第三列,并且让结果尽可能美观,则命令为_____________________________________;
8. 假设当前系统的工作目录为/etc,如果想打印出shadow中包含有字符串“opensuse”或者“OPen”的所有行,用冒号分割,输出第一第二列,并且让结果尽可能美观,则命令为________________________________;
9. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,筛选出第三列值大于500的行,并输出这些行的第一第三列值,并且让结果尽可能美观,则命令为___________________________________;
10. 假设当前系统的工作目录为/etc,如果想打印出shadow中包含有字符串“opensuse”或者“OPen”的所有行,用冒号分割,输出行号、第一列和第二列,并且让结果尽可能美观,则命令为________________________________;
11. 假设当前系统的工作目录为/etc,如果想打印出shadow中包含有字符串“opensuse”或者“OPen”的所有行,用冒号分割,输出行号、本行所有内容、第一列内容,并且让结果尽可能美观,则命令为_______________________________;
12. 通过什么命令组合,可以求出passwd中以冒号分割时每一行字段的个数?________________________________;
13. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,输出第七行及其之后的所有的行号以及第一列值,并且让结果尽可能美观,则命令为_________________________________________;
14. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,输出第七行及其之后,第三十行及其之前的所有的行号以及第一列值,并且让结果尽可能美观,则命令为_________________________________________;
15. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,输出第七行及其之后,第三十行及其之前,且第三列值大于475的所有的行号以及第一列值,并且让结果尽可能美观,则命令为_________________________________________;
16. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,输出每行的行号、第一列内容及最后一列内容,并且让结果尽可能美观,则命令为_______________________________________;
17. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,输出每行的行号、第一列内容及倒数第三列内容,并且让结果尽可能美观,则命令为_______________________________________;
18. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,但不使用-F选项,输出每行的行号、第一列内容及倒数第三列内容,并且让结果尽可能美观,则命令为_____________________________________;
19. 关于双引号与单引号的使用,在grep中,尽量全部都使用单引号,在awk中,当需要调整FS的值的时候,必须使用___________(你懂的)。
20. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,但不使用-F选项,输出每行的行号、第一列内容及倒数第三列内容,用“+”隔开,则命令为_____________________________________;
21. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,输出每行的第一第三列内容,同时添加一些自定义字符串,使得输出的结果大致如下所示:
User root has id: 0
User messagebus has id: 499
User tftp has id: 498
则命令为_____________________________________;
22. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,过滤出包含“root”到包含“mail”字符串之间的所有行,并且输出每行的第一第三列内容,则命令为___________________________________;
23. 假设当前系统的工作目录为/etc,将passwd中的内容用冒号分割,过滤出包含“root”到包含“mail”字符串之间的所有行,并且输出每行的第一第三列内容,格式要尽量美观,则命令可以为___________________________________;
24. 如何获取环境变量的所有名字?
25. 如何获取当前主机上的可用内存?
二. awk
1. awk '/mail/' /etc/passwd
2. awk '/opensuse/' /etc/passwd
3. awk '/mail|opensuse/' /etc/passwd
4. awk '/^mail|^opensuse/' /etc/passwd
5. grep -Ev '^#|^$' firewalld.conf | awk -F '=' '{print $1, $2}' | column -t
6. awk -F ':' '/mail|opensuse/{print $1, $4}' /etc/passwd
7. awk -F ':' '/opensuse/{print $1, $3}' /etc/group | column -t
8. awk -F ':' '/opensuse|OPen/{print $1, $2}' /etc/shadow | column -t
9. awk -F ':' '$3>500{print $1, $3}' /etc/passwd | column -t
10. awk -F ':' '/opensuse|OPen/{print NR, $1, $2}' /etc/shadow | column -t
11. awk -F ':' '/opensuse|OPen/{print NR, $0, $1}' /etc/shadow | column -t
12. awk -F ':' '/root/{print NF}' /etc/shadow
13. awk -F ':' 'NR>=7{print NR, $1}' /etc/passwd | column -t
14. awk -F ':' 'NR>=7&&NR<=30{print NR, $1}' /etc/passwd | column -t
15. awk -F ':' 'NR>=7&&NR<=30&&NF>475{print NR, $1}' /etc/passwd | column -t
16. awk -F ':' '{print NR, $1, $NF}' /etc/passwd | column -t
17. awk -F ':' '{print NR, $1, $(NF-2)}' /etc/passwd | column -t
18. awk 'BEGIN{FS=":"}{print NR, $1, $(NF-2)}' /etc/passwd | column -t
19. 双引号
20. awk 'BEGIN{FS=":";OFS="+"}{print NR, $1, $(NF-2)}' /etc/passwd
21. awk 'BEGIN{FS=":"}{print "User", $1, "has id:", $3}' /etc/passwd
22. awk -F ':' '/root/, /mail/{print $1, $3}' /etc/passwd
23. awk -F ':' '/root/, /mail/{printf "%-16s %-20s \n", $1, $3}' /etc/passwd
24. export | awk -F'[ =]' '{print $3}'
25. free -m | awk 'NR==2{print $7}'
 

这篇关于RedHat运维-Linux文本操作基础-GREP,AWK,SED基础的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1076083

相关文章

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表