awk基本学习

awk命令详解 概述 awk是专门为文本处理设计的编程语言,与sed类似都是以数据驱动的行处理软件,主要用于数据扫描、过滤、统计汇总工作,数据可以来自标准输入、管道或者文件。 awk在20世纪70年代诞生与贝尔实验室。现在使用的版本是1988年发布的Gnu awk。 基础语法 记录与字段 awk是一种处理文本文件的编程语言,文件的每行数据都被称为记录,默认以空格或制表符为分隔符,每条记录被分成若干字段(列),awk每次从文件中读取一条记录。 语法格式: awk [选项] ‘条件{动作} 条件{动作} ... ...’ 阅读详情

参考:跟老男孩学Linux运维:核心系统命令实战

在线bash:https://c.runoob.com/compile/18

 

awk的默认分隔符是(一个或者多个连续)空格,指标看成是连续空格

 

语法格式:awk [参数] '条件{动作}' 文件

  • 显示某些行
seq 9 | awk 'NR==2,NR==6' 

讲解:显示第2行到第6行,NR表示number of row

  • 给每行加上行号
seq 9 | awk '{print NR,$0}'

讲解:注意输出的时候并不会有逗号,$0表示一整行的内容,这里花括号里面的内容是awk内部命令

前面连个功能点可以合起来写,正好满足了语法格式的所有要素

seq 9 | awk 'NR==2, NR==6 {print NR, $0}'
  • 对文件进行列分割,并且输出某些列
echo 'hello;world;ni;hao
chen;pan;this
xie;juan' > test.txt
awk -F ";" '{print $3,$NF}' test.txt

讲解: -F  ";"表示按照分号分隔每一行,$NF表示最后一列

  • 使用gsub替换
echo 'hello;world;ni;hao
chen;pan;this
xie;juan' > test.txt
awk '{gsub(";", " with ", $0); print $0}' test.txt

讲解:gsub("替换对象","替换成什么内容",哪一列),哪一列默认为$0,即所有列(整行)

  • 综合行号,列分割,输出想要的部分,从而实现过滤和选择
echo '   hello; world;ni; hao
chen;pan;   this
xie; juan' > test.txt
awk -F "[ ;]+" 'NR==2{print $3}' test.txt
  • 数组统计功能
echo 'False
False
True
True' > test.txt
awk '{array[$0]++}END{for(domain in array)print domain, array[domain]}' test.txt

讲解:构建数组,以每一行为key,然后++统计数目,一开始全为0,出现一个增加一个。使用END模式,循环输出

 

  • 输出记录行数
seq 9 | awk 'END{print NR}'
  • 在命令中使用shell变量
R=`awk 'END{print NR}' xx.txt`
awk "NR==$R"'{print $2}' xx.txt

讲解:第一行定义了shell变量记录行数,第二行使用双引号来使用shell变量,输出了文件的最后一行的第二列

注意:在双引号和单引号之间不要有空格

 

  • 将一列赋值给数组
array=($(awk 'NR==1,NR==6{print $2}' xx.txt))
echo ${array[0]}

 

Shell基本学习(7)---三剑客其Awk 2.剑客二awk *Awk是linux下的一个命令,同时也是一种语言解析引擎 *Awk具备完整的编程特性。比如执行命令,网络请求等 数据处理: (1)数据分割 [root@localhost ~]# echo "zhangsan,lisi,wangwu" zhangsan,lisi,wangwu [root@localhost ~]# echo "zhangsan,lisi,wangwu" | awk -F ',' '{print $2}' lisi 多个数据的话会将所有数据的选择的数据拿出来 阅读详情

相关推荐

玩转linux三剑客-这应该是我看到过最全的awk学习总结了

文章目录前言一些心得历史溯源awk 基本格式awk 执行顺序awk 如何分割语句awk 常用选项参数关键字awk 最基础操作awk 变量awk 运算符awk 条件语句awk 循环语句awk 输入输出语句awk 常用函数awk 注意小细节 awk 前言 我为什么要把 awk 单独拿出来做一篇博文呢?因为 awk 功能确实太强大了,grep 和 sed 相对而言要好掌握不少,awk 其本身就算是一门编程语言,awk 脚本的写法可以说是非常灵活的,理论上可以替代 grep,所以我觉得很有必要将 awk 专门拎出来

abcnull 的博客 2258

shell脚本

文章目录运行 运行 s1.sh #!/bin/bash varRunWay=$1 echo way is: $varRunWay echo PID of s1 is $$ case $varRunWay in sh) sh ./s2.sh;; fork) ./s2.sh;; source) source ./s2.sh;; exec) exec ./s2.sh;; *) echo 'params error';; esac echo parent-shell s2.sh #!/bin/bash

fffakeone的博客 286

【WB32库开发】第9章 TIM1高级定时器——输出多路PWM

PWM(Pulse Width Modulation)意为脉冲宽度调制,简称脉宽调制 。在工控行业,PWM信号可以用来调节电机转速、调节变频器以及BLDC电机驱动等;在LED照明行业,可以通过PWM来控制LED的亮暗变化;还可以通过PWM信号来控制无源蜂鸣器发出简单的声音等。 WB32也可输出PWM,需配置WB32上的定时器。 在WB32中有4个定时器,其中TIM1为高级定时器,TIMx(2-4)为通用定时器,这四个定时器均挂载在APB1总线上,每个定时器都可以输出4路PWM。 本章需要使用固件库TIM例程

北海村夫的博客 4637

AWK 简明教程

有一些网友看了前两天的《Linux下应该知道的技巧》希望我能教教他们用awk和sed,所以,出现了这篇文章。我估计这些80后的年轻朋友可能对awk/sed这类上古神器有点陌生了,所以需要我这个老家伙来炒炒冷饭。况且,AWK是贝尔实验室1977年搞出来的文本出现神器,今年是蛇年,是AWK的本命年,而且年纪和我相仿,所以非常有必要为他写篇文章。 之所以叫AWK是因为其取了三位创始人 Alfred

千城 1260

YOLOv11改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合

可扩展的高效物体检测BiFPN(加权双向特征金字塔网络)

Limiiiing的博客 5498

网络无线AP信号走场测试软件(Ekahau 使用说明)

每次开启 Ekahau 软件需要重复此过程,才可以正常使用。 双击“Ekahau Pro activation.reg”,如下图所示; 点击“Yes”按钮 ,进行注册表合并; 点击“OK”按钮,确认; 运行“Ekahau Pro” 点击“Close”关闭提示; 点击“OK”,关闭提示; ...

Reyn_观极 6418

awk编程(九)

环境变量数组 数组ENVIRON被分别添加到gawk和MKSawk中。 然后被添加到SystemVRealease4nawk中,现在被包含在POSIX表侄女的awk中。它允许你访问环境变量。 BEGIN{ for(envinENVRION) printenv“=“ENVIRON[env] } 这部分实验结果数组为空,原因不明。函数 9个内置函数归为算数函数。 cos(x)x的余弦 exp(x)e的x次幂 int(x)x的整数部分 log(x)x...

bigwood99的博客 698

达梦数据库修改最大连接数

达梦数据库的最大连接数推荐配置与服务器内存有关。不应设置得过大,否则容易导致出现OOM。文件中整型的参数值。DSC环境下,除了特殊参数以外,其他参数值会在OK节点上同步。返回值:当前DM.INI文件中对应的参数值。功能说明:返回DM.INI文件中。:DM.INI文件中的参数名。

Sebastien23的博客 3333

linux中的awk命令详解

1、AWK简介 AWK是一种处理文本文件的语言,是一个强大的文本分析工具。 2、AWK语法 awk [选项参数] 'script' var=value file(s) 或 awk [选项参数] -f scriptfile var=value file(s) 选项参数的说明: -F fs or –field-separator fs 指定输入文件折分隔符,fs是一个字符串

jin's blog 11万+

Trae 在代码审查场景的 3 大差异化能力:对比 Claude Code、Cursor 与 Codex 实测

揭示代码审查的核心矛盾是上下文断层而非找 Bug,介绍 Trae 通过跨文件符号追踪、意图-实现对齐校验、增量变更影响图谱生成三件事实现上下文校准,并对比其与 Claude Code、Cursor、Codex 在多模块 Java 项目中的实际审查差异

weixin_42525482的博客 152

基于Jeecgboot3.9.0的flowable7.2.0流程增加一个OA请假单功能例子(二)

基于Jeecgboot3.9.0的flowable7.2.0流程增加一个OA请假单功能例子(二)

宁波阿成的博客 198

学习awk 效果就是识记基本点加例子

要格式化报文或从一个大的文本文件中抽取数据包用过滤工具awk. 调用awk的三中方式: 1,awk[-Ffield-separator]'commands'input-file(s)最常用的调用方式 2,awk-F:'commands'input-file 3,awk-f

Poison_Kiss的专栏 833

YOLOv11改进 | 注意力篇 | YOLOv11引入CBAM注意力机制

我们的实验表明各种模型的分类和检测性能得到了一致的改进,证明了 CBAM 的广泛适用性。简单介绍:CBAM的主要思想是通过关注重要的特征并抑制不必要的特征来增强网络的表示能力。模块首先应用通道注意力,关注"重要的"特征,然后应用空间注意力,关注这些特征的"重要位置"。到此本文的正式分享内容就结束了,在这里给大家推荐我的YOLOv11改进有效涨点专栏,本专栏目前为新开的,后期我会根据各种前沿顶会进行论文复现,也会对一些老的改进机制进行补充,如果大家觉得本文帮助到你了,订阅本专栏,关注后续更多的更新~

tsg6698的博客 2万+

sed & awk 第二版学习(一)—— sed 与 awk 基本操作

sed 与 awk 基本操作

wzy0623的专栏 1341

解决Android API 30+视频播放抖动问题

摘要:本文探讨了Android开发中使用ExoPlayer在API 30+设备上出现的视频抖动问题。作者发现API 30以下版本运行正常,但API 30及以上版本会出现画面不稳定现象。解决方案是改用TextureView替代SurfaceView,通过修改PlayerView配置并设置setUseTextureView(true)来增强播放稳定性。这一简单改动有效解决了API兼容性问题,为开发者提供了实用的解决方案。

m0_62153576的博客 117

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

awk的基本使用--我的学习记录

Awk名称来源: Aho, Weinberger, Kernighan 三个开发者名字首字母,但现在我们使用的版本已经不是原始的AWK了。而是GUN组织后来编写的开源的,所以全名应该是GAWK。基本用法:gawk[OPTIONS] 'program' FILE1 FILE2 ...program: PATTERN{ACTION STATEMENT}ACTION: prin...

weixin_34391854的博客 199

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

shell学习4--awk的基本使用

awk是一种用于处理数据和生成报告的编程语言。常用脚本管理小型数据库的自动化处理。       awk是三个姓的首字母,代表三位作者:Alfred Aho,Brian Kernighan,Peter Weinberger。       工作原理:              1. 逐行扫描文件,从第一行到最后一行,查找匹配某个特殊模式(如果有)的文本行,并对这些行执行指定动作(括在大括号内);  

murenqishi的专栏 293

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Awk学习(一)之基本使用

  一、基本知识 NR: 文件中记录个数 NF:每一行分割后的字段个数   二、测试文件内容 test.txt: zhangsan  20 lisi      19 wangwu    21 三、测试结果 1.  awk '{print NR,$1,NF}' test.txt  1 zhangsan 2 2 lisi 2 3 wangwu 2 2. awk '$2 >=...

szkbsgy的专栏 263

shell学习(十) 【shell awk基本语法】

shell_ awk基本语法

冰恋云的专栏 292

(八)学习笔记:sed、awk基本用法

1.sed的命令解析 1.1.Stream EDitor 流式编辑器 特点: — 非交互,基于模式匹配过滤及修改文本 — 逐行处理,并将结果输出到屏幕 — 可实现对文本的输出、删除、替换、复制、剪切、导入、导出等各种操作 1.2.sed命令解析 基本用法: — 格式1:前置命令 | sed 选项 ‘条件指令’ — 格式2:sed 选项 ‘条件指令’ 文件… 相关说明如下: 条件可以是行号或者正则 没有条件时,默认为所有行 指令可以是增、删、改、查等指令 默认sed会将所有输出的内容都打印出来,可以使用

Tathary的博客 332

day05 awk的学习

【代码】day05 awk的学习。

2403_89688685的博客 268

Linux学习笔记_基本命令复习(seq sed awk)

筛选命令运用

留百叶的专栏 769

【shell脚本】shell脚本之sed高级应用、awk基本用法(shell脚本基础学习五)_shell awk某行替换为列并补齐

ifconfig eth0 |awk ‘/TX p/{print “当前主机eth0网卡的发送流量是”$5"字节"}’ifconfig eth0 |awk ‘/RX p/{print “当前主机eth0网卡的接收流量是”$5"字节"}’df -h | awk ‘/vda1/{print “主机根分区剩余空间是”$4}’既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

2401_84562659的博客 787

【shell脚本】shell脚本之sed高级应用、awk基本用法(shell脚本基础学习五)_shell awk某行替换为列并补齐(2)

2,使用数值/字符串比较设置条件==(等于)!=(不等于) >(大于)=(大于等于)

2401_84562576的博客 968

【shell脚本】shell脚本之sed高级应用、awk基本用法(shell脚本基础学习五)_shell awk某行替换为列并补齐(3)

【代码】【shell脚本】shell脚本之sed高级应用、awk基本用法(shell脚本基础学习五)_shell awk某行替换为列并补齐(3)

2401_84562576的博客 186

shell学习之awk篇

网上关于awk的博客说的也是够多的了,之所以再写有两点原因:1 大部分博文说的不够全面  2 作为自己系统学习shell的一个记载。     学习过程中看的是《The awk programming language》讲的非常详细,有兴趣的同学可以在这里下载。    0. 以下示例说明均以此数据作为依据 USSR 8649 275 Asia Canada

di00di的专栏 268
上一篇: sed基本学习
下一篇: grep基本学习
math_computer
博客等级 码龄8年 43粉丝 176原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值