`
heipark
  • 浏览: 2097154 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux神器AWK学习笔记

 
阅读更多

 

    awk单独拿出来写了这篇笔记是因为它是在太强大了,简直就是一门脚本语言。

 

入门篇
# 数值计算
echo | awk '{print 19+7}' # 25

# 字符分割,-F指定分割符号,下例为"_"。如果不指定-F参数则使用空格分割
echo A_B_C | awk -F "_" '{print $1}'  # A

#字符串函数
echo  "apple banana dog"  | awk  '{print  substr($1, 1, 5)  }' # apple

#求和,对my.txt的第一列数值求和:
my.txt
-----
1 a
2 b
3 c
cat my.txt | gawk '{ sum += $1 }; END { print sum }' 

# 计算平均数
cat count.txt | awk '{sum+=$1} END {print "avg=", sum/NR}'

 

应用笔记 
# 字符串分割。根据"_"
ls | awk -F "_" '{print $1F}'

#删除某列,并输出
zcat xx.gz | awk '{$1 = null ;print}'

#输出最后一列
cat a.txt | awk '{print $NF}')

#输出倒数第二列
cat a.txt | awk '{print $(NF-1)}') 

 

 

求和、求平均数
# cat inputfile
1 50
2 30
3 20
4 50
# awk -F' ' '{sum+=$2;count+=1} END{print "SUM:"sum"\nAVG:"sum/count}' inputfile
SUM:150
AVG:37.5

 

 

变量名 含义

ARGC 命令行变元个数

ARGV 命令行变元数组

FILENAME当前输入文件名

FNR 当前文件中的记录号

FS 输入域分隔符,默认为一个空格

RS 输入记录分隔符

NF 当前记录里域个数

NR 到目前为止记录数

OFS 输出域分隔符

ORS 输出记录分隔符

 

分享到:
评论

相关推荐

    linux awk学习笔记

    Linux中的`awk`是一个强大的文本分析工具,由Alfred Aho、Brian Kernighan和Peter Weinberger三位开发者创建,因此得名。`awk`的主要功能是处理文本和数据,通过匹配特定模式对文件中的行进行操作。在Linux系统中,...

    linux下AWK学习笔记

    AWK是一种强大的文本分析工具,尤其在Linux和Unix环境下被广泛使用。它能够对文本文件中的数据行进行处理,提取、分析或者转换数据,非常适合数据分析和报告生成。本笔记将详细介绍AWK的基本概念、语法、命令选项...

    linux_awk 学习手册

    【Linux Awk 学习手册】 awk 是一个强大的文本分析工具,源于 UNIX 系统,由 Aho、Weinberg 和 Kernighan 三位开发者命名。它的全名并不表示特定的功能,而是创建者姓名的首字母缩写。awk 的主要功能在于对文本数据...

    AWK学习笔记.doc

    本笔记主要涵盖了AWK的基础知识和高级特性,旨在帮助读者理解和掌握这一实用工具。 **一.1 什么是AWK?** AWK是由Aho、Weinberger和Kernighan三位计算机科学家开发的,它的名字就是由他们的姓氏首字母组成的。AWK是...

    Linux实战awk详解

    通过阅读这些资料,你可以系统地学习awk,提升在Linux环境下处理文本数据的能力。 总之,Linux实战awk详解是一个宝藏资源,无论你是初学者还是有经验的用户,都能从中受益。掌握awk能让你在面对复杂文本处理任务时...

    awk学习笔记,从论坛整理而来

    在Linux和Unix系统中,`awk` 提供了一种灵活的方式来提取、过滤和处理数据。本篇文章将深入讲解 `awk` 的基本用法和调用方式。 ### 1. `awk` 的调用方式 #### (1) 命令行方式 这是最基础的调用方式,直接在命令行...

    awk 学习笔记加例子

    **awk学习笔记与实例解析** awk 是一种强大的文本分析工具,尤其在Linux和Unix系统中广泛使用。它允许用户通过模式匹配和处理规则对输入数据进行操作,特别适合于处理结构化的文本文件,如日志文件、配置文件等。本...

    Awk学习笔记和指南

    awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和 动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。...

    sed与awk(第二版)学习笔记

    sed与awk(第二版)学习笔记

    awk学习笔记(学习awk编程的好帮手)

    awk是一种强大的文本分析工具,广泛应用于Linux和Unix系统中。...学习awk能够极大地提升在Linux和Unix环境下处理文本数据的能力。通过深入理解和实践,你可以利用awk解决各种数据处理挑战,提高工作效率。

    awk学习笔记.pdf

    AWK是一种编程语言,用于在Linux环境下对文本和数据进行处理和分析。它是许多UNIX系统中的标准工具,并且是文本处理的强大工具。AWK通过模式匹配来处理文本文件,其中可以指定一系列规则,称为模式和动作,来对输入...

    PDF电子书《Awk学习笔记2010修改版》

    ### PDF电子书《Awk学习笔记2010修改版》相关知识点 #### AWK简介 AWK是一种强大的脚本语言,由Alfred V. Aho、Peter J. Weinberger和Brian W. Kernighan在1977年设计并实现。这三位计算机科学家的名字首字母合成了...

    linux awk学习

    ### Linux Awk 学习知识点详解 #### 一、Awk 简介与基本用法 Awk 是一种在 Unix 和类 Unix 操作系统上广泛使用的文本处理工具,能够帮助用户快速处理文本数据,执行复杂的文本分析任务。Awk 的主要功能包括模式...

    LINUX下awk命令详解

    ### Linux 下 awk 命令详解 #### 一、引言 ...通过本文的学习,相信读者已经能够熟练地使用 `awk` 进行文本处理,并能够将其应用于实际工作中。随着实践经验的积累,你将会发现 `awk` 的强大之处远远不止于此。

    Linux学习笔记【博文整理系列】

    学习linux的笔记,发到博文了,鉴于文档方便保存和查阅,发出来,免费的哈 博文来自http://blog.csdn.net/wklken,共12篇,类似手册,可快速练习和查阅,容易上手 文档列表: Linux笔记——vim常用操作及扩展补充...

    awk学习笔记(简单易学)

    ### awk学习笔记精要 #### 1. awk简介 awk是一种功能强大的文本处理语言,主要用于在Linux/Unix环境中处理文本和数据。它能够从标准输入、文件或其它命令的输出中提取并处理数据,支持自定义函数和动态正则表达式...

    awk学习笔记

    awk学习笔记,介绍所有awk命令,和具体用法

    Linux_awk命令详解

    Linux中的awk命令是一个强大的文本分析工具,用于处理和解析文件中的数据。awk的名称来源于它的创始人: Alfred V. Aho, Peter J. Weinberger, 和 Brian W. Kernighan。awk有三个主要版本:awk、nawk(new awk)和...

    linux-awklinux-awk

    ### Linux Awk 学习指南 #### 1. Awk 简介 Awk 是一种专门设计用于处理文本和数据的编程语言,主要用于 Linux/Unix 操作系统中。它可以处理来自标准输入、一个或多个文件,甚至是其他命令的输出结果。Awk 支持高级...

Global site tag (gtag.js) - Google Analytics