Linux教程

linux:awk用法

本文主要是介绍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++}}'

 

这篇关于linux:awk用法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!