常用awk命令

Linux入侵应急响应与排查 在数据泄漏方面,mysql或者其他数据库的日志就非常重要了,首先查看mysql配置文件配置了哪几种日志记录,如bin log,query log慢查询日志,慢查询日志要在超过特定阀值,才会触发。查看被入侵后,在系统上执行过哪些命令,使用root用户登录系统,检查/home目录下的用户主目录的.bash_history文件。默认情况下,系统可以保存1000条的历史命令,并不记录命令执行的时间,根据需要进行安全加固。查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以.为名的文件夹具有隐藏属性。... 阅读详情

原文地址:http://www.cnblogs.com/repository/archive/2011/05/13/2045927.html

awk 用法:awk ' pattern {action} '  


变量名 含义 
ARGC 命令行变元个数 
ARGV 命令行变元数组 
FILENAME 当前输入文件名 
FNR 当前文件中的记录号 
FS 输入域分隔符,默认为一个空格 
RS 输入记录分隔符 
NF 当前记录里域个数 
NR 到目前为止记录数 
OFS 输出域分隔符 
ORS 输出记录分隔符 

1、awk '/101/'               file 显示文件file中包含101的匹配行。 
   awk '/101/,/105/'         file 
   awk '$1 == 5'             file 
   awk '$1 == "CT"'          file 注意必须带双引号 
   awk '$1 * $2 >100 '       file  
   awk '$2 >5 && $2<=15'     file


2、awk '{print NR,NF,$1,$NF,}' file 显示文件file的当前记录号、域数和每一行的第一个和最后一个域。 
   awk '/101/ {print $1,$2 + 10}' file 显示文件file的匹配行的第一、二个域加10。 
   awk '/101/ {print $1$2}'  file 
   awk '/101/ {print $1 $2}' file 显示文件file的匹配行的第一、二个域,但显示时域中间没有分隔符。


3、df | awk '$4>1000000 '         通过管道符获得输入,如:显示第4个域满足条件的行。


4、awk -F "|" '{print $1}'   file 按照新的分隔符“|”进行操作。 
   awk  'BEGIN { FS="[: \t|]" } 
   {print $1,$2,$3}'       file 通过设置输入分隔符(FS="[: \t|]")修改输入分隔符。 

   Sep="|" 
   awk -F $Sep '{print $1}'  file 按照环境变量Sep的值做为分隔符。    
   awk -F '[ :\t|]' '{print $1}' file 按照正则表达式的值做为分隔符,这里代表空格、:、TAB、|同时做为分隔符。 
   awk -F '[][]'    '{print $1}' file 按照正则表达式的值做为分隔符,这里代表[、]


5、awk -f awkfile       file 通过文件awkfile的内容依次进行控制。 
   cat awkfile 
/101/{print "\047 Hello! \047"} --遇到匹配行以后打印 ' Hello! '.\047代表单引号。 
{print $1,$2}                   --因为没有模式控制,打印每一行的前两个域。


6、awk '$1 ~ /101/ {print $1}' file 显示文件中第一个域匹配101的行(记录)。


7、awk   'BEGIN { OFS="%"} 
   {print $1,$2}'           file 通过设置输出分隔符(OFS="%")修改输出格式。


8、awk   'BEGIN { max=100 ;print "max=" max}             BEGIN 表示在处理任意行之前进行的操作。 
   {max=($1 >max ?$1:max); print $1,"Now max is "max}' file 取得文件第一个域的最大值。 
   (表达式1?表达式2:表达式3 相当于: 
   if (表达式1) 
       表达式2 
   else 
       表达式3 
   awk '{print ($1>4 ? "high "$1: "low "$1)}' file 


9、awk '$1 * $2 >100 {print $1}' file 显示文件中第一个域匹配101的行(记录)。


10、awk '{$1 == 'Chi' {$3 = 'China'; print}' file 找到匹配行后先将第3个域替换后再显示该行(记录)。 
    awk '{$7 %= 3; print $7}'  file 将第7域被3除,并将余数赋给第7域再打印。


11、awk '/tom/ {wage=$2+$3; printf wage}' file 找到匹配行后为变量wage赋值并打印该变量。


12、awk '/tom/ {count++;}  
         END {print "tom was found "count" times"}' file END表示在所有输入行处理完后进行处理。


13、awk 'gsub(/\$/,"");gsub(/,/,""); cost+=$4; 
         END {print "The total is $" cost>"filename"}'    file gsub函数用空串替换$和,再将结果输出到filename中。 
    1 2 3 $1,200.00 
    1 2 3 $2,300.00 
    1 2 3 $4,000.00 

    awk '{gsub(/\$/,"");gsub(/,/,""); 
    if ($4>1000&&$4<2000) c1+=$4; 
    else if ($4>2000&&$4<3000) c2+=$4; 
    else if ($4>3000&&$4<4000) c3+=$4; 
    else c4+=$4; } 
    END {printf  "c1=[%d];c2=[%d];c3=[%d];c4=[%d]\n",c1,c2,c3,c4}"' file 
    通过if和else if完成条件语句 

    awk '{gsub(/\$/,"");gsub(/,/,""); 
    if ($4>3000&&$4<4000) exit; 
    else c4+=$4; } 
    END {printf  "c1=[%d];c2=[%d];c3=[%d];c4=[%d]\n",c1,c2,c3,c4}"' file 
    通过exit在某条件时退出,但是仍执行END操作。 
    awk '{gsub(/\$/,"");gsub(/,/,""); 
    if ($4>3000) next; 
    else c4+=$4; } 
    END {printf  "c4=[%d]\n",c4}"' file 
    通过next在某条件时跳过该行,对下一行执行操作。 


14、awk '{ print FILENAME,$0 }' file1 file2 file3>fileall 把file1、file2、file3的文件内容全部写到fileall中,格式为 
    打印文件并前置文件名。


15、awk ' $1!=previous { close(previous); previous=$1 }    
    {print substr($0,index($0," ") +1)>$1}' fileall 把合并后的文件重新分拆为3个文件。并与原文件一致。


16、awk 'BEGIN {"date"|getline d; print d}'         通过管道把date的执行结果送给getline,并赋给变量d,然后打印。 


17、awk 'BEGIN {system("echo \"Input your name:\\c\""); getline d;print "\nYour name is",d,"\b!\n"}' 
    通过getline命令交互输入name,并显示出来。 
    awk 'BEGIN {FS=":"; while(getline< "/etc/passwd" >0) { if($1~"050[0-9]_") print $1}}' 
    打印/etc/passwd文件中用户名包含050x_的用户名。 

18、awk '{ i=1;while(i<NF) {print NF,$i;i++}}' file 通过while语句实现循环。 
    awk '{ for(i=1;i<NF;i++) {print NF,$i}}'   file 通过for语句实现循环。     
    type file|awk -F "/" ' 
    { for(i=1;i<NF;i++) 
    { if(i==NF-1) { printf "%s",$i } 
    else { printf "%s/",$i } }}'               显示一个文件的全路径。 
    用for和if显示日期 
    awk  'BEGIN { 
for(j=1;j<=12;j++) 
{ flag=0; 
  printf "\n%d月份\n",j; 
        for(i=1;i<=31;i++) 
        { 
        if (j==2&&i>28) flag=1; 
        if ((j==4||j==6||j==9||j==11)&&i>30) flag=1; 
        if (flag==0) {printf "%02d%02d ",j,i} 
        } 
} 
}'


19、在awk中调用系统变量必须用单引号,如果是双引号,则表示字符串 
Flag=abcd 
awk '{print '$Flag'}'   结果为abcd 
awk '{print  "$Flag"}'   结果为$Flag

以上转自chinaunix,以下是自己的总结:

求和:

    $awk 'BEGIN{total=0}{total+=$4}END{print total}' a.txt   -----对a.txt文件的第四个域进行求和!

  • $ awk '/^(no|so)/' test-----打印所有以模式no或so开头的行。

  • $ awk '/^[ns]/{print $1}' test-----如果记录以n或s开头,就打印这个记录。

  • $ awk '$1 ~/[0-9][0-9]$/(print $1}' test-----如果第一个域以两个数字结束就打印这个记录。

  • $ awk '$1 == 100 || $2 < 50' test-----如果第一个或等于100或者第二个域小于50,则打印该行。

  • $ awk '$1 != 10' test-----如果第一个域不等于10就打印该行。

  • $ awk '/test/{print $1 + 10}' test-----如果记录包含正则表达式test,则第一个域加10并打印出来。

  • $ awk '{print ($1 > 5 ? "ok "$1: "error"$1)}' test-----如果第一个域大于5则打印问号后面的表达式值,否则打印冒号后面的表达式值。

  • $ awk '/^root/,/^mysql/' test----打印以正则表达式root开头的记录到以正则表达式mysql开头的记录范围内的所有记录。如果找到一个新的正则表达式root开头的记 录,则继续打印直到下一个以正则表达式mysql开头的记录为止,或到文件末尾。

linux 查日志神器 - awk 相关常用命令 如果您觉得有用的话,记得给,写作不易啊^ _ ^。而且听说,实在白嫖的话,那欢迎常来啊!!!等于。 阅读详情

相关推荐

Linux命令200例:awk文本处理工具的系统与实战讲述(常用)

Linux awk(全称为“Aho, Weinberger, andKernighan”)是一种文本处理工具,用于从输入文件中提取并输出指定的信息。它以行为单位读取文件,并根据用户定义的模式和操作来处理每一行数据。awk命令是一种强大的编程语言,结合了模式匹配、文本处理和数据分析的功能。本文介绍了Linux awk命令的基本概念、使用方法和常见应用场景,并给出了15个实际例子。通过学习和掌握awk命令的用法,可以提高文本处理和数据分析的效率,实现各种自动化任务。

黑夜开发者的博客 927

文本处理之awk命令

awk是什么? awk是linux里的一个文本处理的命令(工具),支持数学运算,流程该控制大量的变量和函数 awk命令的工作原理? 与sed命令一样,均是一行一行的读取、处理 sed作用于一整行的处理,而awk将一行分成数个字段来处理 awk 默认的分隔符是空白(空格、tab键) -==================================== awk的数据字段变量 $0 表示整行文本 $1 表示文本中第一个数据字段 $2 表示文本中第二个数据字段 $n 表示文本中第n个数据字段 如/etc

weixin_46219545的博客 1980

如何查找Linux中最常用的命令?用history命令结合awk、sort、uniq命令就可以实现!

通过组合使用historyawksortuniq和head等命令,我们实现了一种查找Linux系统中最常用命令的方法。从查看命令历史到提取、排序再到查看排名前几的命令,这一过程为我们提供了深入了解系统使用情况的途径。

网络技术联盟站 471

Linux--awk基础讲解和常用方法

awk是一种报告生成器,拥有强大的文本格式化能力 我们可以用awk命令将文本整理成我们想要的样子,比如把一些文本整理成“表的样子”然后在展示出来,也就是“文本格式化的能力” awk支持条件判断,数组,循环等功能,所以我们把awk理解成一门脚本语言解释器 1.awk语法:awk 参数 处理规则 操作对象 2.参数: -F:指定文本分隔符(默认是以空格作为分隔符) 案例:取出最后一串字符 awk '{print $NF}' 9.ttx 案例二:指定‘f’字符为分隔符 3...

tudoujun123的博客 2793

ESP32+LED12864液晶屏实战:手把手教你显示中文与自定义图标(附完整代码)

本文详细介绍了如何使用ESP32单片机驱动带字库的LED12864液晶屏,实现中文显示与自定义图标。从硬件选型、接线方案到驱动编写、字库解析,提供了完整的实战代码与优化技巧,并最终构建了一个智能家居控制面板的完整示例项目。

weixin_29212867的博客 146

KEPServer EX6的Modbus、MQTT和REST Server一站式配置整理说明

KEPServer EX6的Modbus、MQTT和REST Server一站式配置整理说明

syqenter的专栏 8961

linux的awk命令

一、参考链接 awk命令可参考:https://www.cnblogs.com/xudong-bupt/p/3721210.html http://www.zsythink.net/archives/1336 二、awk介绍 awk是一个文本分析工具,简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再...

sinat_32363483的博客 1571

计算机视觉:相机模型与参数标定

一、相机投影模型 1、小孔成像 2、相机模型中的四个平面坐标系 3、像主点偏移 4、畸变现象与内参矩阵 5、外参矩阵 二、相机标定:张正友棋盘格标定法 1、张正友棋盘格标定法描述 2、计算外参和内参 2.1 计算单应性矩阵H 2.2 计算内参数矩阵 2.3 计算外参数矩阵 3、实验:MATLAB实现 3.1 实验数据 3.2实验过程 3.3 实验结果 4、实验:OpenCV实现 4.1 实现代码 4.2 实验结果 5、实验分析与总结

DreamWendy的博客 2514

常用的awk命令

awk 用法:awk ' pattern {action} ' 变量名 含义 ARGC 命令行变元个数 ARGV 命令行变元数组 FILENAME 当前输入文件名 FNR 当前文件中的记录号 FS 输入域分隔符,默认为一个空格 RS 输入记录分隔符 NF 当前记录里域个数 NR 到目前为止记录数 OFS 输出域分隔符 ORS 输出记录分隔符 1、awk '/101

811

别再手动挂载NPU了!手把手教你用Ascend-Docker-Runtime一键启动昇腾AI容器

本文详细介绍了如何使用Ascend-Docker-Runtime一键启动昇腾AI容器,大幅简化NPU设备挂载流程。通过环境变量ASCEND_VISIBLE_DEVICES,开发者可以灵活指定NPU设备,提升开发效率。文章还提供了安装配置指南、高级使用技巧和常见问题排查方法,帮助开发者快速掌握这一高效工具。

weixin_42662605的博客 253

STM32F103跑LVGL,用DMA加速刷屏,800*480大屏也能丝滑

本文详细介绍了如何在STM32F103芯片上通过DMA加速和内存优化,实现800*480大屏的LVGL流畅运行。通过FSMC+DMA硬件架构优化、双缓冲机制和LVGL参数调优,显著提升了界面刷新率和响应速度,适用于嵌入式GUI开发中的高性能需求场景。

weixin_30357231的博客 376

awk -f 分隔符 命令_awk 常用命令

在云计算工作中,日志分析是必不可少的一部分。不同于基于大数据平台的分析,如果只有几个G的日志文件,用 awk 在本机上处理就会方便的多。通常 awk 只用来处理有规范格式的文件,例如 Nginx 日志,通常 awk 会和 grep 配合起来使用。如果是不规范的文件,就需要先用 sed 去处理。awk 入门使用文件的一行称为 awk 的一个 记录使用特定分隔符分开的单词称为 字段# 默认分隔符(空格...

weixin_39527078的博客 1092

基于深度学习的野生菌菇检测识别分类系统(YOLOv8 + UI界面 + 数据集)

随着深度学习技术的迅猛发展,计算机视觉领域的应用得到了广泛的关注。野生菌菇的检测与识别是一个复杂而又有趣的问题,涉及到物体检测、图像分类以及自然语言处理等技术。本文将介绍如何基于YOLOv8模型,结合自定义UI界面与数据集,构建一个高效且精确的野生菌菇检测识别分类系统。首先,我们将介绍YOLOv8的原理与特点,然后详细描述如何构建和训练野生菌菇识别模型,并介绍如何为该系统设计UI界面,最终形成一个完整的系统。本文内容包括代码实现、模型训练及数据集准备等,旨在为有类似需求的开发者提供参考和帮助。目录摘要目录。

YOLO 1547

awk 常用命令汇总及说明

摘要:awk是功能强大的文本处理工具和编程语言,特别适合处理结构化数据。它支持字段分隔、模式匹配、计算统计等操作,内置丰富变量($0、NF、NR等)。常用功能包括:提取列数据、条件过滤、数值计算、去重排序等;支持数组、循环等编程结构;能处理CSV、日志等格式。通过-F指定分隔符,结合正则表达式实现复杂文本处理。awk以简洁语法完成高效数据处理,是Unix/Linux环境的核心文本分析工具。

weixin_47253479的博客 461

论文必备 - YOLOv13热力图可视化,支持指定模型,指定显示层,设置置信度,以及10种可视化实现方式

本文带来的是YOLOv13热力图可视化功能,支持,以及。我们经常看到一些论文里绘制了不同的热力图,一方面能够直观的感受其模型的有效性,另一方面也丰富了论文内容。特别是在使用了注意力模块的网络中,热力图就可以验证注意力机制是否真正聚焦到了预期的重要特征上,以便对模型的有效性和合理性进行评估。例如这篇文章中展示的,就很能够表达作者改进后的模型相比之前模型的优越性。

Limiiiing的博客 488

网格质量评价

CFD中评价网格质量的方法

B_etter_Man的博客 1万+

linux常用命令-grep、sed、awk

e<script>或–expression=<script> 以选项中指定的 script 来处理输入的文本文件,这个-e可以省略,直接写表达式。-F fs or --field-separator fs 指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。-f<script文件>或–file=<script文件>以选项中指定的 script 文件来处理输入的文本文件。-C<行数 x>:除了显示符合样式的那一行之外,并显示该行之前后的 x 行内容。如:/^#/ 以#开头的匹配。

weixin_42693865的博客 996

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

常用awk命令示例汇总

简介 awk是一个强大的文本处理工具,它主要是针对文本列来进行处理。awk的语法比较复杂,下面通过总结常用的例子来方便日常的工作使用。 常见用法示例 准备工作 首先使用你喜爱的文本编辑器创建包含下面内容的文件,这个文件将在下面使用到,最后文件名称保存为Awk.txt。 $ cat Awk.tx...

chengzhengmu7640的博客 461

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

awk 常用的命令样例

的第一列和第二列,并按照第二列的值进行排序。中第三列大于 10 的行的第一列和第二列。分隔,然后打印第一列和第三列。的第一列的总和,并打印结果。

wuk998的博客 338

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Linux常用命令——awk 命令详解

awk 命令在Linux系统中是一种强大的文本处理工具,用于对文件和数据进行扫描和处理。它是一种编程语言,可以通过指定的模式对文本进行操作。

Darrich的博客 599

shell中awk及其常用命令

awk 工作原理: 逐行读取文本,默认以空格或tab分隔符进行分隔 把一条记录拿出来以分隔成多行内容 打印1-5行 BEGIN模式 第三列的值小于5再打印 通过管道符号,双引号 调用shell命令 int整数型没小数点 ...

weixin_44324367的博客 1058

Shell之常用的命令(cut、awk、sed、sort)

Shell常用的工具命令 本文引用自:https://elfgirl.top/archives/673 10.1 cut cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。cut命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出。 1.基本用法 cut [选项参数] filename 说明:默认分隔符是制表符 2.选项参数说明 选...

xinghuo0007的博客 2164

常用AWK命令

常用的awk命令举例 [root@mypc /]# awk '$0 ~ /user/' /etc/passwd  (#如果某域含有user就将该行打印出来) rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin [root@myp

crayon_xin的专栏 322

通过awk统计最常用的命令

这条命令能通过awk统计最常用的是十条命令以及所占百分比,还是蛮有趣的,有时间可以试一下。 #history | awk ‘{CMD[$2]++; count++;} END{ for (a in CMD) print CMD[a]" “CMD[a]/count*100”%" , a}’ | grep -v “./” | column -c 3 -s " " -t | sort -nr | nl | head -n 10 ...

闻到你的人的博客 385

Shell中的Awk的常用命令语法

awk命令擅长格式化报文或从一个大的文本文件中抽取数据包,下面是该命令的基本语法 awk [-F filed-separator] “commands” input-file(s) [ - F域分隔符]是可选的,aw k使用空格作为缺省的域分隔符,如果在要处理的文件中是以冒号作为分割域的(如passwd文件),则在处理的时候要这样指明awk –F: command input-

空中无色的专栏 865

linux AWK常用命令 —— 筑梦之路

搜集整理awk常用命令,以便使用查询。

筑梦之路 1010
上一篇: 回调函数
下一篇: vi 命令
labrary
博客等级 码龄15年 8粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值