首先, 你需要先了解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 Developer 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。只打印特定的字段"normal">,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。打印技术部门的雇员列表。
部门名称现在"htmlcode">
$ 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 部门的员工数目
总结
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]