我的编程空间,编程开发者的网络收藏夹
学习永远不晚

shell 里 awk print 的用法详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

shell 里 awk print 的用法详解

首先, 你需要先了解awk 的工作原理:
1。AWK读取输入文件一次一行。
2。对于每一行,它匹配在给定的顺序模式,如果匹配,执行相应的动作。
3。如果没有模式匹配,将执行任何行动。
4。在上面的语法,无论是搜索模式,或行动是可选的,但不能同时。
5。如果没有给出搜索模式,然后awk要执行每一行输入给定的行动。
6。如果没有给出动作,打印,这是默认的操作与模式相匹配的所有行。 7。空出的任何行动括号什么都不做。它不会执行默认的打印操作。
8。中的每个行动的声明应该用分号分隔。让我们创建employee.txt文件,其中有

首先, 你需要先了解awk 的工作原理:

1。AWK读取输入文件一次一行。
2。对于每一行,它匹配在给定的顺序模式,如果匹配,执行相应的动作。
3。如果没有模式匹配,将执行任何行动。
4。在上面的语法,无论是搜索模式,或行动是可选的,但不能同时。
5。如果没有给出搜索模式,然后awk要执行每一行输入给定的行动。
6。如果没有给出动作,打印,这是默认的操作与模式相匹配的所有行。
7。空出的任何行动括号什么都不做。它不会执行默认的打印操作。
8。中的每个行动的声明应该用分号分隔。

让我们创建employee.txt文件,其中有以下内容,这将是在使用
下文提到的例子。


$cat employee.txt
100 Thomas Manager Sales  $5,000
200 Jason Developer Technology $5,500
300 Sanjay Sysadmin Technology $7,000
400 Nisha Manager Marketing $9,500
500 Randy DBA  Technology $6,000

Awk的范例1。 awk的默认行为

默认情况下的awk打印文件的每一行。


1234567
$ awk '{print;}' employee.txt
100 Thomas Manager Sales  $5,000
200 Jason DeveloplGdXwVccSDer Technology $5,500
300 Sanjay Sysadmin Technology $7,000
400 Nisha Manager Marketing $9,500
500 Randy DBA  Technology $6,000

在上面的例子中模式中没有给出。因此,是适用于所有的行。
action与任何参数的打印输出默认情况下,输出整行.

Awk的范例2。打印与模式匹配的行。

1234$ awk '/Thomas/


> /Nisha/' employee.txt
100 Thomas Manager Sales  $5,000
400 Nisha Manager Marketing $9,500

在上面的例子,它打印的“Thomas”或“Nisha”匹配的所有行。它有两种模式。

Awk的范例3。只打印特定的字段​​。

awk有内置的变量。对于每一个记录,即行,分隔空白字符分隔记录默认情况下,它存储在$ n个变量。如果该行有4个词,它会被存储在$ 1,2,2,2, 3和$ 4。 $0表示整行。 NF是一个内置变量,它代表这一行有多少个被分隔的域.


12345678910111213$ awk '{print $2,$5;}' employee.txt
Thomas $5,000
Jason $5,500
Sanjay $7,000
Nisha $9,500
Randy $6,000

$ awk '{print $2,$NF;}' employee.txt
Thomas $5,000
Jason $5,500
Sanjay $7,000
Nisha $9,500
Randy $6,000

Awk 范例4. 初始化and Final Action

Awk 两个重要的pattern , 由关键词 BEGIN and END 标识

Syntax:

BEGIN { Actions}
{ACTION} # Action for everyline in a file
END { Actions }

#is for comments in Awk

这是一个例子

12345678910111213
$ awk 'BEGIN {print “Name\tDesignation\tDepartment\tSalary”;}


> {print $2,"\t",$3,"\t",$4,"\t",$NF;}
> END{print "Report Generated\n--------------";
> }' employee.txt
Name Designation Department Salary
Thomas Manager Sales   $5,000
Jason Developer Technology $5,500
Sanjay Sysadmin Technology $7,000
Nisha Manager Marketing $9,500
Randy DBA  Technology $6,000
Report Generated
--------------

在上面的例子,它打印出的报告和最后文件的标题

Awk的范例6。打印技术部门的雇员列表。

部门名称现在​​是第四个字段,所以需要检查与“Techology”的字符串,如果$4 匹配,则打印这一行
$ awk ‘$4 ~/Technology/' employee.txt
200 Jason Developer Technology $5,500
300 Sanjay Sysadmin Technology $7,000
500 Randy DBA Technology $6,000

操作符〜是正则表达式比较。如果匹配的默认操作,即打印整行.

Awk的范例7。打印在技术部门的雇员人数

下面的例子, 检查 department 是否是Technology, 如果是 则Action中,只增加变量的计数. 这个变量在BEGIN 中被初始化为0

123456


$ awk 'BEGIN { count=0;}
$4 ~ /Technology/ { count++; }
END { print "Number of employees in Technology Dept =",count;}' employee.txt
Number of employees in Tehcnology Dept = 3

在END 中打印出这个变量,就是Technology 部门的员工数目

总结

到此这篇关于shell 里 awk print 的用法详解的文章就介绍到这了,更多相关shell awk print用法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

shell 里 awk print 的用法详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

shell 里 awk print 的用法详解

首先, 你需要先了解awk 的工作原理: 1。AWK读取输入文件一次一行。 2。对于每一行,它匹配在给定的顺序模式,如果匹配,执行相应的动作。 3。如果没有模式匹配,将执行任何行动。 4。在上面的语法,无论是搜索模式,或行动是可选的,但不能
2022-06-04

详解Python函数print用法

print函数: Python中可以直接使用的函数,可以将信息展示在控制台print()函数可以输出哪些内容? print()函数输出的内容可以是数字#可以输出数字 print(520) print(98.6)print()函数输出的内容可
2022-06-02

Shell AWK编程的基本介绍和使用详解

目录1、AWK介绍(1)AWK概述(2)printf格式化输出(3)printf命令说明2、AWK的基本使用(1)AWK命令说明(2)AWK命令使用1、AWK介绍 (1)AWK概述 AWK是一种处理文本文件的语言,是一个强大的文本分
2022-06-08

Linux中 sed 和 awk的用法详解

sed用法: sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed [-nefri] ‘comman
2022-06-04

Linux中awk的使用方法详解

在学习awk之前我们应该都学过sed,grep,tr,cut等等命令,这些命令都是为了方便我们对linux下文本和数据的处理,但是我们会发现很多时候这些命令并不能一下子就完全解决我们的需求,很多时候我们都需要使用管道符结合这些命令来使用,今
2022-06-04

Shell脚本中awk指令的用法

语法格式:awk [选项] '指令' 操作文件 常用选项:-F 指定分隔符,分隔符用""引起来-v:var=value在awk程序开始之前指定一个值valu给变量var,这些变量值用于awk程序的BEGIN快-f:后面跟一个保存了aw
2022-06-04

详解Shell cut用法

cut是以每一行为一个处理对象的,这种机制和sed一样。 cut接受三个定位方法: 1)byte: -b 2)characters: -c 3)fields: -d eg:提取第3,4,5,9的字节: cut -b 3-5,9 注意:cut
2022-06-04

Linux Shell Map的用法详解

Map定义:在使用map时,需要先声明,否则结果可能与预期不同,array可以不声明 方式1:declare -A myMap myMap["my03"]="03"方式2:declare -A myMap=(["my01"]="01" ["
2022-06-03

shell脚本--sed的用法详解

sed在处理文本时是逐行读取文件内容,读到匹配的行就根据指令做操作,不匹配就跳过。 sed是linux下一款功能强大的非交互流式文本编辑器,可以对文本文件进行增、删、改、查等操作,支持按行、按字段、按正则匹配文本内容,灵活方便,特别适合于大
2022-06-04

shell中的for循环用法详解

for 命令:for i in 的各种用法 :for i in “file1” “file2” “file3”for i in /boot/*for i in /etc/*.conffor i in $(seq -w 10) --》等宽的0
2022-06-04

shell中set指令的用法详解

语法set [-可选参数] [-o 选项]功能说明 set 指令可根据不同的需求来设置当前所使用 shell 的执行方式,同时也可以用来设置或显示 shell 变量的值。当指定某个单一的选项时将设置 shell 的常用特性,如果在选项后使用
2022-06-04

Shell PATH变量用法详解

前面章节我们说过,程序脚本要想在 linux 中运行,需要使用绝对路径或相对路径指定这个脚本所在的位置。但是为什么系统命令都没有指定路径而是直接执行的?比如,ls 命令并没有输入"/bin/ls"来执行,而是直接执行"ls"命令。这就是 P
2022-06-04

Linux里awk中split函数的用法小结

The awk function split(s,a,sep) splits a string s into an awk array a using the delimiter sep. set time = 12:34:56set hr
2022-06-04

shell脚本之sed详细用法详解

目录sed的作用sed使用方法介绍命令行格式举例说明对文件进行增、删、改、查操作增加文件内容对文件进行搜索替换操作其他命令其他选项sed结合正则使用补充扩展总结总结sed的作用 sed是Stream Editor(流编辑器)的缩写,简称流编
2022-07-05

详解shell 变量的高级用法示例

变量删除和替换案例:从头开始匹配,将符合最短的数据删除 (#)variable_1="I love you, Do you love me" echo $variable_1 variable_2=${variable_1#*ov} ech
2022-06-04

详解Shell 脚本中 “$” 符号的多种用法

通常情况下,在工作中用的最多的有如下几项:$0:Shell 的命令本身1到9:表示 Shell 的第几个参数$ :显示最后命令的执行情况$#:传递到脚本的参数个数$$:脚本运行的当前进程 ID 号 $*:以一个单字符串显示所有向脚本
2022-06-04

Shell编程之变量的高级用法详解

变量替换语法说明${变量名#匹配规则}从变量开头进行规则匹配,将符合最短的数据删除${变量名##匹配规则}从变量开头进行规则匹配,将符合最长的数据删除${变量名%匹配规则}从变量尾部进行规则匹配,将符合最短的数据删除${变量名%%匹配规则}
2022-06-04

linux shell命令行参数用法详解

习惯使用linux命令行来管理linux系统,例如: $ date 二 11 23 01:34:58 CST 1999 $用户登录时,实际进入了shell,它遵循一定的语法将输入的命令加以解释并传给系统。命令行中输入的第一个字必须是一个
2022-06-04

编程热搜

目录