ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux:awk用法

2022-07-08 23:05:43  阅读:161  来源: 互联网

标签:输出 BEGIN 10 用法 awk linux print txt


简述:

awk用于文本处理

 

常用参数:

-F  指定分隔符

-v  指定变量

$NF  表示最后一个字段

NR  表示第几行

&&  与

||  或

$0  整行

OFS  输出字段分隔符

1...N  第一个到第N个字段

 

例子:

1、输出1.txt文件的第一列,默认按空格分隔

awk -F {print $1} 1.txt

 

2、输出1.txt文件的第一列和第二列,按,分隔

awk -F, {print $1,$2} 1.txt

 

3、输出1.txt文件的最后一行的最后一个字段,按:分隔

tail -1 1.txt | awk -F ":" '{print $NF}'

 

4、输出第十行的内容

awk NF==10'{print $0}' 1.txt

 

5、给a赋值1,让a与第一个字段相加,然后输出第一行

awk -v "a=1" '{a+=$1;print $1}' 1.txt | head -1

 

6、按:分隔,输出1.txt文件的第一、第二列,以 - 连接

awk -F ":" '{OFS=-;print $1,$2}' 1.txt

 

优先级参数:

BEGIN  最高优先级

END  最低优先级

 

例子:

1、输出hello

awk 'END{print "hello"}'

2、输出a、b

awk 'BEGIN{a="hello",b="world";print a,b}'

3、将1.txt文件的第一列相加

awk -v "a=0" 'a+=$1END{print a}' 1.txt

 

判断控制流

if  判断

while  循环

for  循环

do...while  循环

break  提出循环

 

例子:

1、判断1.txt中如果$1大于10,输出$1,否则输出$2

awk ‘{if($1>10)print $1;else print $2}’ 1.txt

2、循环输出1~10

awk 'BEGIN{i=1;while(i<11){print i;i++}}'

 

标签:输出,BEGIN,10,用法,awk,linux,print,txt
来源: https://www.cnblogs.com/yancool/p/16459836.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有