linux:awk用法


简述:

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++}}’

 

原创文章,作者:jamestackk,如若转载,请注明出处:https://blog.ytso.com/272324.html

(0)
上一篇 2022年7月9日
下一篇 2022年7月9日

相关推荐

发表回复

登录后才能评论