网络安全 Day13-Linux三剑客awk知识
Linux三剑客awk知识
- 1. awk 介绍
- 2. awk 语法
- 3. 练习
1. awk 介绍
- awk 是一门语言, 也是一个命令,
- Linux 有三剑客命令: grep/sed/awk
- 三剑客的特长
- grep 过滤内容
- sed 取行
- awk 取列
2. awk 语法
- 取列
- 取第一列文件($1):
awk '{print $1} 文件' - 指定分隔符为文件:
awk -F "指定的分隔符" 文件 - 指定多分隔符:
awk -F "[/@ #]+" '{print $1,$2}' 文件
- 取第一列文件($1):
- 取行:
awk NR==2 oldboy.txt - 过滤:
awk '/过滤的内容/' 文件
3. 练习
-
准备:创建一个文件, 并在只其中追加内容
[root@oldboyedu ~] echo "oldboy oldgirl" >>oldboy.txt [root@oldboyedu ~] echo "oldboy oldgirl" >>oldboy.txt [root@oldboyedu ~] cat oldboy.txt oldboy oldgirl oldboy oldgirl -
普通取列
- 取第一列
[root@oldboyedu ~] awk '{print $1}' oldboy.txt oldboy oldboy - 取整行(搭配着grep可能更好用)
[root@oldboyedu ~]# awk '{print $0}' oldboy.txt oldboy oldgirl oldboy oldgirl
- 取第一列
-
指定分隔符取列(-F)
- 取/etc/passwd的第1列:
awk -F ":" '{print $1}' /etc/passwd - 取/etc/passwd的第2列:
awk -F ":" '{print $2}' /etc/passwd - 取/etc/passwd的尾列:
awk -F ":" '{print $NF}' /etc/passwd - 取/etc/passwd的倒数第2列:
awk -F ":" '{print $(NF-1)}' /etc/passwd
- 取/etc/passwd的第1列:
-
同时输出多列
- 取/etc/passwd的第1列和第2列:
awk -F ":" '{print $1,$2}' /etc/passwd - 取/etc/passwd的第1列、第3列和最后一列:
awk -F ":" '{print $1,$3,$NF}' /etc/passwd
- 取/etc/passwd的第1列和第2列:
-
综合练习
- 从ip a或ifconfig结果中取出Ip地址
p a|grep '10.0.0'|awk '{print $2}'|awk -F/ '{print $1}'或者ifconfig eth0|grep '10.0.0'|awk '{print $2}' - 从ip a结果中取出Ip地址:
ip a|awk -F "[ /]+" 'NR==9{print $3}' - 取出stat /etc/hosts中的0644:
stat /etc/hosts|awk -F "[(/]" 'NR==4{print $2}'
- 从ip a或ifconfig结果中取出Ip地址
-
准备
[root@oldboyedu ~] seq 5 >oldboy.txt [root@oldboyedu ~] cat oldboy.txt 1 2 3 4 5 -
取行练习
- 取第二行:
awk NR==2 oldboy.txt - 取第2-4行:
awk NR==2,NR==4 oldboy.txt或awk 'NR>1&&NR<5' oldboy.txt或awk 'NR>=2&&NR<=4' oldboy.txt
- 取第二行:
相关文章:
网络安全 Day13-Linux三剑客awk知识
Linux三剑客awk知识 1. awk 介绍2. awk 语法3. 练习 1. awk 介绍 awk 是一门语言, 也是一个命令,Linux 有三剑客命令: grep/sed/awk三剑客的特长 grep 过滤内容sed 取行awk 取列 2. awk 语法 取列 取第一列文件($1): awk {print $1} 文件指定分隔符为文件: awk -F "指…...
java讲解Spring Boot配置文件级别 相互覆盖关系 解决一方不愿意给数据库密码 一方不愿意给源码时 数据库配置问题
前面 我们讲过Spring Boot 修改临时变量的方式 但另一个场景 就是 我们 在本地开发环境 用的是一个配置 但如果项目经理上线 他想改这些配置 怎么弄呢 特别是数据库之类的配置 很多线上是不太一样的 那么 我们先看一个比较基本的方法 在配置文件的同目录下创建一个目录 叫 con…...
点击表格行高亮
css中三元表达式 :class"[activeIndex index ? color : , item]"点击行高亮 <div click"actvied(index)" :class"[activeIndex index ? color : , item]"v-for"(item, index) in tableData" :key"index">{{ item…...
基于粒子群优化算法的配电网光伏储能双层优化配置模型[IEEE33节点](选址定容)(Matlab代码实现)
目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码、数据、讲解 💥1 概述 由于能源的日益匮乏,电力需求的不断增长等,配电网中分布式能源渗透率不断提高,且逐渐向主动配电网方…...
零代码爬虫平台SpiderFlow的安装
什么是 Spider Flow ? Spider Flow 是一个高度灵活可配置的爬虫平台,用户无需编写代码,以流程图的方式,即可实现爬虫。该工具支持多数据源、自动保存至数据库、任务监控、抓取 JS 动态渲染页面、插件扩展(OCR 识别、邮…...
Java 与其他编程语言:比较分析
Java 擅长可移植性和可靠性,Python 擅长通用性和简单性,JavaScript 擅长 Web 开发,C 擅长性能,Go 擅长效率。 在广阔的软件开发世界中,选择正确的编程语言对于任何项目的成功都至关重要。Java 是一种以其多功能性和可移…...
Linux性能分析工具介绍(二)--内存、进程、磁盘、IO分析
目录 一、引言 二、Linux性能分析工具介绍 ------>2.1、进程 ------>2.2、内存 ------>2.3、磁盘 ------>2.4、IO 一、引言 本章从内存、IO、进程的角度,分析linux系统的性能 二、Linux性能分析工具介绍 2.1、进程 2.1.1、top top命令可以动态查看进程…...
海外热门地区/国家常见主体证件示例
海外热门地区/国家常见主体证件示例(本页面内容较多,你可以通过CtrlF搜索) Overseas Popular Areas / Countries Examples of Common certificates (This page has more content, you can search by CtrlF) 中国香港…...
【阵列信号处理】空间匹配滤波器、锥形/非锥形最佳波束成形器、样本矩阵反演 (SMI) 研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
使用MPU6050计算方向盘角度
我给你们作了榜样、叫你们照着我向你们所作的去作。 ——【约翰福音13:15】 1.前言 前段时间接到一个项目需求:使用现有的陀螺仪MPU6050实现计算当前车辆的方向盘角度。 2.需求分析 MPU6050可获取三轴角速度和三轴加速度,并通过算法可以获得横滚角、…...
区块链实验室(13) - 在PBFT中节点的度与其流量的特征
前面若干实验说明了PBFT的耗时、流量与度的特征,见 区块链实验室(10) - 实例说明PBFT的共识过程, 区块链实验室(11) - PBFT耗时与流量特征, 区块链实验室(12) - 网络拓扑对PBFT共识流量的影响 同样的实验方案,在100个节点构成的无标度网络中完成100次交…...
C++——文件操作
一、文本文件 C中输入输出是通过流对象进行操作,对于文件来说写文件就是将内容从程序输出到文件,需要用到写文件流ofstream;而读文件就是将内容从文件输入到程序,需要用到读文件流ifstream;这两个文件流类都包含在头文…...
channel通道笔记
channel通道笔记 介绍 语法 1.一般使用make创建channel(常用) c : make(chan datatype),datatype是数据类型 2.直接显示声明,创建的值为空,一般没有太大意义 var c chan datatype 三种定义写法: 既可以收数据又可以发数据:chan datatype只可以收数据:chan <- datatype只可…...
无涯教程-Lua - 面向对象
面向对象编程(OOP)是现代编程时代中使用最广泛的编程技术之一。 OOP的特征 类(Class) - 类是用于创建对象的可扩展模板。 对象(Objects) - 它是类的实例,并为其分配了单独的内存空间。 继承(Inheritance) - 这是一个概…...
Java中的IOUtils是什么?
Java中的IOUtils是一个工具类,用于简化文件和流的操作。它提供了一些常用的方法,如复制文件、读取文件、写入文件等。 下面是一个简单的示例,演示如何使用IOUtils来复制文件: import org.apache.commons.io.FileUtils; import j…...
电源板(220V转3.3V)调试问题总
目录 现象: 问题可能的影响: 排查过程: 1.测试EC3,C2都在6V左右, 2.怀疑变压器的问题。 2.怀疑原边反馈控制芯片的问题。 3.怀疑后级电路的问题。 现象: 电源板输出3.28V输出正常。 但是测试前级电压…...
【webpack】一些零碎的知识点记录:eslint配置、source-map配置、devServer配置
文章目录 前言eslint安装配置设置规则 devtool设置js.map文件使用模式解释文件说明建议方案 devServer安装配置 前言 有些知识点不知道咋归类,就先暂时放在同一个文章里了。这里只记录配置方式,配置的东西是什么就不过多解释了,因为一般需要…...
VUE之JWT前后端分离认证,学生管理系统
参考资料: SpringBoot搭建教程 SpringCloud搭建教程 JWT视频教程 JWT官网 Vue视频教程 JWT视频参考资料、VUE视频资料,及前后端demo 特别有参考价值的JWT博客1 特别有参考价值的JWT博客2 cookie、localstorage和sessionStorage的区别1 cookie、localstorage和sessi…...
Go学习第五天
Golang中面向对象类的表示与封装 package mainimport "fmt"// 如果类名首字母大写,表示其他包也能够访问 type Hero struct {// 如果类的属性首字母大写,表示该属性是对外能够访问的,否则的话只能够类的内部访问Name stringAd …...
在vue项目中封装WebSockets请求
在Vue项目中封装WebSocket请求包括以下步骤: 1. 安装WebSocket库:首先,导入WebSocket库,例如vue-native-websocket或socket.io-client。根据项目需求选择适当的库,并根据官方文档进行安装和配置。 2. 创建WebSocket服务…...
NumPy入门必做50道练习题,Python 提高教程之numpy,Python 学习者必须掌握
NumPy 从入门到完全入门的系统性练习题集,覆盖全部核心基础知识点,每道题均含: ✅ 题目编号与难度标识(★☆☆ 到 ★★★) ✅ 完整可运行代码(Python 3.8,Clash Meta 风格 YAML 注释风格&#x…...
EasyAnimateV5图生视频实战:三步搞定你的第一个AI视频
EasyAnimateV5图生视频实战:三步搞定你的第一个AI视频 1. 准备工作与环境配置 1.1 了解EasyAnimateV5核心能力 EasyAnimateV5是一款专注于图生视频任务的AI模型,它能将静态图片转化为动态视频。与常见的文生视频模型不同,它特别擅长保持原…...
Seata+RocketMQ分布式事务实战:从理论到10万QPS的性能优化
1. 分布式事务的本质与挑战 第一次接触分布式事务时,我盯着电脑屏幕发呆了半小时——这玩意儿不就是把本地事务搬到多个服务上吗?但真正动手实现时,才发现自己太天真了。想象一下双十一的电商场景:用户下单要扣库存、生成订单、调…...
Proteus与Keil联调实战:给AT89C51跑马灯加上‘暂停’和‘变速’功能(代码深度解析)
AT89C51跑马灯进阶实战:状态机与中断优化技巧 在嵌入式系统开发中,跑马灯是最基础的入门项目之一。但很多学习者在掌握了基本流水灯效果后,往往止步于简单的循环控制,未能深入挖掘单片机编程的精髓。本文将带您突破基础功能限制&a…...
AI绘画新手必看:用LiuJuan Z-Image Generator,实时查看GPU占用防卡顿
AI绘画新手必看:用LiuJuan Z-Image Generator,实时查看GPU占用防卡顿 1. 为什么GPU监控对AI绘画如此重要? 想象一下这样的场景:你精心构思了一幅画面,输入了完美的提示词,满怀期待地点击生成按钮…...
从AEB到ACC:手把手拆解TTC和THW在L2级自动驾驶里的实战应用
从AEB到ACC:手把手拆解TTC和THW在L2级自动驾驶里的实战应用 当你的车辆在高速公路上以120km/h巡航时,前车突然亮起刹车灯——这个瞬间,车载电脑正在以每秒100次的频率计算两个关键数字:TTC(碰撞时间)决定是…...
网站社交媒体推广对SEO有什么作用_图片和视频如何优化以提高搜索引擎收录
网站社交媒体推广对SEO有什么作用 在当前数字化时代,网站的SEO(搜索引擎优化)已经成为任何希望提升在线存在感的企业和个人的首要任务。SEO并不仅仅是关于在网站上优化文本内容。如今,社交媒体推广也在这一过程中发挥着越来越重要…...
**向量数据库实战:用Python实现高效语义搜索与应用扩展**在当今人工智能飞速发展的背景下,**向量
向量数据库实战:用Python实现高效语义搜索与应用扩展 在当今人工智能飞速发展的背景下,向量数据库(Vector Database) 已成为构建智能应用的核心基础设施之一。它不仅能存储高维向量数据,还能快速进行近似最近邻&#…...
网站 SEO 检测报告如何与网站分析数据进行对比分析_网站 SEO 检测报告中的页面结构分析有什么用
网站 SEO 检测报告如何与网站分析数据进行对比分析 在当今的互联网时代,网站的成功与否往往取决于其在搜索引擎上的排名。因此,网站 SEO(搜索引擎优化)检测报告和网站分析数据的对比分析显得尤为重要。通过对比分析,可…...
OpenClaw技能开发入门:为Qwen3.5-9B定制图片分类插件
OpenClaw技能开发入门:为Qwen3.5-9B定制图片分类插件 1. 为什么需要开发图片分类技能 上周整理手机相册时,我对着3000多张杂乱无章的照片头疼不已——旅行风景、工作截图、宠物照片全都混在一起。手动分类不仅耗时费力,还经常因为主观判断不…...
