awk

awk基本用法、awk应用案例及综合脚本 如果要输出到屏幕可以使用命令awk '{a[$1]++}END{print a["abc"]}' shu.txt。按照awk逐行处理的工作特点使用awk '{a[$1]++}' shu.txt 走完每一行得到下列结果。准备一个文档,里面有6行,每行分别是abc、xyz、abc、opq、xyz、abc 然后。用法格式:BEGIN{ 任务1 }{ 任务2 }END{ 任务3 }BEGIN任务 执行1次,读取文档之前执行。END任务 执行1次,读取文档之后执行。 阅读详情
在shell命令或编程中,可以用AWK强大的的文本处理能力。如果要格式化报文或从一个大的文本文件中抽取数据包,那么awk可完成这些任务。awk是一种解释的编程语言。awk也是shell过滤工具中最难掌握的。awk是一种自解释的编程语言。结合awk和sed和grep,将会使awk编程更加容易。
awk语言最基本的功能是在文件或字符串中基于指定的规则浏览和抽取信息。
有三种方式可调用awk.
<1>.命令行方式。
<2>.将所有的awk命令插入一个文件,并利用chmod使awk文件成为执行。
<3>.将所有的awk命令插入一个单独文件,然后调用。
以下简单介绍awk的各种方式,详细请查看相关另外文档
在awk中有四种概念。
1.抽取域
2.匹配正则表达式
3.比较域
4.向awk传递参数
以下简单介绍:
1).保存awk输出: #awk '{print $0}'  myfile>newfile
2).使用tee,在输出到文件的同时输出到屏幕(利用管道'|')
     #awk '{print $0}' myfile |tee newfile
3).打印报告头,#awk 'BEGIN {print "hello,this is Title\n---------"}{print $0}' newfile
4).打印信息尾.#awk 'BEGIN{print $0} END {"end of file."}' myfile
5).匹配,如下若在myfile第二列中带有BROWN,则打印信息
     #awk '{if ($2~/BROWN/) print $0}' myfile
6).精确匹配,同上,只是将~改为==
7).不匹配,有时要浏览信息并抽取不匹配操作的记录,与~相反的符号是!,如下
#awk '$0 !~/BROWN/' myfile
8).比较
 如小于: #awk 'if ($1<$2) print $1' myfile
9).设置大小写 #awk '[Gg]reen/' myfile
10).任意字符,表达式/^...a/意为前三个字符是任意字符
  #awk '$1~/^...a/' myfile
11).或关系匹配,#awk '$0~/(YELLOW || RED)/' myfile
12).与:&& ,或:||
13).awk内置变量
 <1>.要快速查看记录个数,应使用NR,如:#awk 'END {print NR}' myfile <2>.以下使用NF变量显示每一条读记录中有多少个域,并在END部份  打印输入文件名。#awk '{print NR,NF,$0} END {print FILENAME}' myfile
<3>. 判断并输出 . #awk '{if(NR>0 && $4~/BROWN/) print $0' myfile
14).可以设置输入域到域变量名。
15).域值比较操作。
   @1.在BEGIN中给变量名赋值。通常在BEGIN部分赋值是很有益的,可以在awk表达式进行改动时减少很大麻烦.
   @2.在关系操作中使用实际数值,使用关系操作时必须用括号括起来.
 #awk '{if($6<27) print $0}' myfile
 #awk 'BEGIN {BASELINE="27"}{if ($6<BASELINE) print $6}' myfile
  17).修改数据域取值
 当在awk中修改任何域时,重要的一点是实际的文件可修改,改动的是cache中的awk复本,awk会在变量NR或NF中反映出修改的痕迹。
#awk '{if($1=="M.TANS")$6=$6-1;print $6}' myfile
18).修改文本域
 #awk '{if($1=="J.Troll")($1="J.L.Troll");print $1}' myfile
19).只显示修改记录
#awk '{if($1=="J.Troll"){$1="J.L.Troll";print $1}}' myfile
20).创建新的输出域
在awk中处理数据时,基于各域进行计算的创建新域是个好的习惯。如下示例:
 #awk 'BEGIN{print "Name    Score\t"}if($6<$7){$8=$7-$6;print $8}' myfile
21).增加列值
 #awk 'tot+=$6;END{print "Club Total point." tot}' myfile
22).使用模式打印文件名及其长度,放入变量tot中
#ls -l | awk'/^[^d]{print $9 "\t" $5}{tot+=$5} END {print "Total KB:tot"}'
23).awk内置的字符串函数
24).awk脚本文件
如以上的所述的诸多情况,这里只不过命令放在一个文件中,且该文件必须是!/bin/awk -f ,因为这样才会使这个文件可以自解释。否则将不能作用。为了容易分别,最好将文件带一个扩展名.awk,完成对文件的编写后,再利用chmod  u+x使文件可以执行。
   以上只是我在实验中的一些情况,awk命令功能很强大,大家可以参考其它的一些手册去获得更清楚的说明。

shell脚本之AWK-AWK的详细介绍 一、AWK简介 二、AWK功能 三、AWK的工作流程 四、AWK程序执行 五、AWK的基本语法 阅读详情

相关推荐

想学嵌入式但没开发板?试试这个免费的STM32虚拟仿真平台(含LVGL界面教程)

本文介绍如何利用免费的STM32虚拟仿真平台学习嵌入式开发,特别适合预算有限或零硬件基础的学习者。通过详细的LVGL界面开发教程,展示虚拟仿真在嵌入式学习中的高效性和实用性,涵盖环境搭建、代码实现到实机迁移的全流程,助力快速掌握嵌入式开发核心技能。

weixin_29266647的博客 306

awk命令简介

http://blog.csai.cn/user1/27828/archives/2007/14197.html 在shell命令或编程中,可以用AWK强大的的文本处理能力。如果要格式化报文或从一个大的文本文件中抽取数据包,那么awk可完成这些任务。awk是一种解释的编程语言。awk也是shell过滤工具中最难掌握的。awk是一种自解释的编程语言。结合awk和sed和grep,将会使a

ggg Freak 1309

soul聊天协议逆向

通过观察上面的CFG发现,该混淆符合以下逻辑,整体思路就是先查找主分发器,一般被引用次数最多的那个块就是主分发器,引用主分发器的块大概率是真实块,再使用unicorn模拟执行,遍历每一个分支,记录每一个块,如果某一个块是上次记录的块则也为真实块,无后继的块则为retn块,剩下的就是无用块。通过Frida Hook libc.so后发现,聊天协议走的是JAVA层的socket,然后Hook JAVA层相关函数得到如下调用堆栈。里面调用的函数不是很多,所以。不行不行,革命要彻底!

2503_90751789的博客 3211

awk详解

简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。 awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥

jj1130050965的博客 1万+

投入产出表之直接消耗系数和完全消耗系数计算--基于Excel

介绍 上篇博客已介绍投入产出表的结构类型及意义解读,在此就不重复写了。 投入产出法中相对稳定的因素是一些系数,根据投入产出表可以计算很多系数: 案例 案例数据即流量矩阵,采用的是中国2012年的部分行业数据,若有不对,请批评指正哈。 直接消耗系数的计算 根据上表和直接消耗系数的计算公式,直接消耗系数矩阵通常用A表示。农林牧渔产品和服务部门对其他部门产品的直接消耗系数分别为: 这些消耗系数的经济意义是,农、林、牧、渔产品和服务部门每生产单位(1亿元)总产出,要直接消耗0.1378亿元本部门产品,0.26

m0_46271335的博客 7万+

不止于修改器:用Cheat Engine(CE)的Lua脚本和D3D Hook打造你的游戏辅助界面

本文深入探讨了Cheat Engine(CE)的高级功能,包括Lua脚本自动化和D3D Hook技术,帮助用户从基础内存扫描升级到开发具有专业图形界面的游戏辅助工具。通过实战示例和优化策略,展示了如何创建高效、稳定的游戏辅助系统,并打包为独立训练器。

weixin_28700411的博客 316

linux awk命令详解

awk的使用方法

weixin_42111719的博客 2万+

关于影响力最大化问题中贪心算法的一些理解

在影响力最大化问题中(Influence Maximization,以下简称IM),贪心算法是最早提出的一种解决方法,并且一直沿用至今。它基于IM问题所具有的单调性(Monotonicity)和子模性(Submodularity)使用一种Hill Climbing策略,不断使用Monte Carlo模拟来寻找在当前情况下的具有最大传播范围的节点,添加至种子集合,得到最终结果,算法伪代码如下所示: 这里算法1其实并没有使用MonteCarlo模拟,而只是使用了贪心的策略...

nianjuan1990的专栏 2852

awk 详细教程:第一部分

1、前言 awk是Unix环境下一种非常好的语言,适合于文本处理和报表生成,它还有许多精心设计的特性,允许进行特殊技巧程序设计。对于短消息来说,比如处理话单文件,使用awk就非常方便,鉴于测试组大部分人对awk并不熟悉,因此仅以本文作一个提纲挈领的介绍,希望对初学者迅速掌握awk有所帮助。 2、第一部分:入门 2.1 第一个awk程序 所有的编程书籍都是通过一个“He...

weixin_34220963的博客 713

NVIDIA Jetson之远程控制软件NoMachine安装使用

参考:https://www.bilibili.com/video/BV1cg4y1i776?t=12 0 背景

ZONGXP的博客 1万+

移动端 AI 部署:ONNX Runtime + Android 从模型到 App

移动端 ONNX 部署的流程是 PC 端导出 ONNX → 放到 Android 项目 assets → ONNX Runtime AAR 加载推理。核心是OrtSession,预处理在 Java 层用 Bitmap 操作完成。建议先在 PC 上用 onnxruntime Python 验证模型正确,再集成到 Android 端,可以减少定位问题的时间。ONNX Runtime 自动调用 NNAPI,在主流芯片上不需要额外适配。

know_F0727的博客 71

awk 分隔符_awk 命令快速入门

awk 是一个强大的文本分析工具,可以非常方便地处理每行都是相同格式的文本,是Linux中功能强大的数据处理引擎之一。grep命令快速入门sed 命令快速入门前面两篇分别示例了 grep/sed 的用法,这篇介绍 awk 的用法。Linux 文本操作的三大神器:grep、sed、awk,各自的最佳应用场景:grep:使用正则表达式搜索文本,并把匹配的行打印出来,是强大的文本搜索工具;sed:用于编...

weixin_39653761的博客 2934

NSIS教程(6): 使用第三方插件

NSIS内置了很多指令,这些指令可以满足我们基本需求,但难免会遇到NSIS没有内置的功能,如进程操作,后台运行(即多线程),7z压缩等等,这个时候我们就需要借助第三方插件来满足我们所需要的功能了。 一、插件获取 NSIS官方收录插件的网址是:http://nsis.sourceforge.net/Category:Plugins,我们可以在这个网站上查找和下载我们需要的插件,该网站上针对每

while(1) { smile(); } 9万+

AWK

一.AWK基本概念 1.基本用法 1.Centos中的文本处理工具 1)grep,egrep,fgrep:基于pattern(模式)的文本过滤工具 2)sed:流编辑器,行编辑器;通过模式空间,保持空间实现编辑 3)AWK:报告生成器,实现格式化文本输出 gawk - pattern scanning and processing language:基于模式扫描以及语言处理 1.AWK: Aho,...

Kasumi_yuki的博客 6626

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

awk使用shell变量及shell使用awk中的变量

在写shell脚本时,经常会使用到awk程序。但是有些复杂的逻辑,可能需要在awk中使用在shell中定义的变量,而且awk程序处理之后,产生的中间变量,还需要在shell中继续处理。 一、那如何在awk中使用在shell中定义的变量呢? 方法一:使用"'把shell变量包起来,即"'$var'";注意是“双引号+单引号+shell变量+单引号+双引号”的格式。 这种写法大家无需改变

rj042的专栏 6万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

awk用法

&“表示"与”、“||表示"或”、"!还可以进行简单的数学运算,如+、一、*、/、%、^分别表示加、减、乘、除、取余和乘方。逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。awk信息的读入也是逐行读取的,执行结果可以通过print的功能将字段数据打印显示。当读到第一行时,匹配条件,然后执行指定动作,再接着读取第二行数据处理,不会默认输出。其他内置变量的用法FS(输入)、OFS、NR、FNR、RS、ORS。AWK 工作通过三个步骤。

yangye2424637628的博客 2453

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

awk输出指定行_原来awk真是神器啊

原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。简介刚开始入门awk时,觉得awk很简单,像是一个玩具,根本无法应用到工作之中,但随着对awk的了解不断加深,就会越发觉得这玩意的强大,大佬们称其为上古神器,绝不是空穴来风。这也可以说明,一些热门的技术知识点,如果你觉得它不过如此,那绝对是你对它的掌握不够深入,而不是它没啥用。基本语法awk基本语法如下:awk...

weixin_31201737的博客 1万+

Shell脚本,awk编程语言,awk科普,awk语法,风格,awk的print功能,列数$num

Shell脚本,awk编程语言,awk科普,awk特点和作用 O、介绍awk 1、基于模式匹配检查输入文本,逐行处理并输出 2、通常用于在shell脚本中,获取指定的数据 3、单独使用时,可以对文本数据做统计 一、awk不同与sed和grep的地方 1、grep的作用是从文件中过滤并显示出指定内容的内容行。 2、sed除了可以从文件中过滤出指定内容的内容行,还能对文件的行数据进行非交互式编辑和其他操作。 3、awk用于对指定文件的数据进行分列,区别与以行作为数据单位,awk可以将内容按照规则分列,并对逐列的

ganfanren00001的博客 5351

awk嵌套awk_与AWK一起喝咖啡

awk嵌套awk 以下内容基于一个真实的故事,尽管某些名称和详细信息已更改。 很久以前,在一个遥远的地方,有一间办公室。 由于各种原因,该办公室没有购买速溶咖啡。 那个办公室的一些工人聚在一起,决定建立“咖啡角”。 Coffee Corner的一名成员将购买速溶咖啡,其他成员将偿还。 结果是有些人喝的咖啡比其他人多,因此增加了“半员”级别:每周允许一半成员喝有限数量的咖啡,并且支付一半...

cuml0912的博客 2913

Linux awk 命令

方法一:-v varname=value ,变量名区分字符大小写。方法二:在program中直接定义。这里是封面:

yangchuang111213的博客 1809

awk命令

awk将一行分成多个“字段”然后再进行处理,且默认情况下字段的分隔符为空格或 tab 键。awk 执行结果可以通过 print 的功能将字段数据打印显示。AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。它是专门为文本处理设计的编程语言,也是行处理软件,通常用于扫描、过滤、统计汇总工作数据可以来自标准输入也可以是管道或文件。20世纪70年代诞生于贝尔实验室,现在centos7用的是gawk。

2301_81272194的博客 1420

AWK脚本

1、AWK脚本定义格式 格式1: BEGIN{} pattern{} END{} 格式2: #!/bin/awk -f #add 'x' right BEGIN{} pattern{} END{} 关于awk 脚本,需要注意两个关键词BEGIN和END BEGIN{ 这里面放的是执行前的语句 } END {这里面放的是处理完所有的行后要执行的语句} {这里面放的是处理每一行时要执行的语句} 格式1假设为f1.awk文件,格式2假设为f2.awk文件 awk [-v var=val

qq_48644092的博客 2388

awk是什么?awk工作原理是什么?怎么用awk?

一、awk介绍 1. awk概述awk是一种==编程语言==,主要用于在linux/unix下对==文本和数据==进行处理,是linux/unix下的一个工具。数据可以来自标准输入、一个或多个文件,或其它命令的输出。awk的处理文本和数据的方式:==逐行扫描==文件,默认从第一行到最后一行,寻找匹配的==特定模式==的行,并在这些行上进行你想要的操作。awk分别代表其作者姓氏的第一个字母。因为它的作者是三个人,分别是Alfred Aho、Brian Kernighan、Peter Wein...

vecloud的博客 3473
上一篇: makefile中的冒号和等号解析
下一篇: scp使用
路人甲三号
博客等级 码龄18年 8粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值