第三周 awk

395 阅读1分钟

awk

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。

语法

awk [选项参数] 'script' var=value file(s) 或 awk [选项参数] -f scriptfile var=value file(s)

用法

awk.txt 内容如下:
2 this is a test
3 Are you like awk
This's a test
10 There are orange,apple,mongo
a,b,c,d

用法一 awk '{[pattern] action}' {filenames}

行匹配语句 awk '' 只能用单引号

awk '{print 1,1,2}' awk.txt 按空格或者tab对每行进行拆分,然后取第一个和第二个元素

通过-F指定分割符,例如
awk -F, '{print 1,1,2}' awk.txt 不再使用默认的空格或者tab分割,指定使用,号分割

没有逗号的行整行输出

用法二 awk -v #设置变量

awk -va=1 '{print 1,1,1+a}' awk.txt

设置变量a赋值为1,并在print中使用

结合运算符

awk '$1>2' awk.txt 输出分割后第一个元素大于2的行

awk '1==2 {print 1,$2}' awk.txt 打印分割后第一个元素等于2的行的第一和第二个元素

awk '1>2 && 2=="Are" {print 1,1,2}' awk.txt 打印分割后第一个元素大于2且第二个元素为Are的行的第一和第二个元素