awk函数

1.awk内置函数

1.1 gsub

1.1.1语法

gsub(/要替换的内容/,'替换后的内容',替换哪一列)

1.1.2示例

///etc/passwd文件中root一行中的冒号替换为加号
[root@test1 ~]# awk '$1~/^root/{gsub(/:/,"+",$NF);print $0}' /etc/passwd
root+x+0+0+root+/root+/bin/bash

1.2 substr

1.2.1语法

substr(某一列,从第几个字符开始,截取几个字符结束)

1.2.2示例

//简单使用示例
[root@test1 ~]# echo 'abcdefg'|awk '{print substr($1,3,3)}'
cde

1.3 split

1.3.1语法

split(某一列,数组名,/要替换的内容/)

把某一列通过正则表达式切割然后放到数组中

1.3.2示例

[root@test1 ~]# echo GET /a/b/c/d/e.jpg|awk '{split($2,a,/\./);print a[1]}'
/a/b/c/d/e
[root@test1 ~]# echo GET /a/b/c/d/e.jpg|awk '{split($2,a,/\./);print a[2]}'
jpg

1.4 system

1.3.1含义

awk调用shell命令

1.3.2示例

//⚠️命令外必须用双引号包裹
awk 'BEGIN{system("ls")}'

2.awk自定义函数

//编辑awk文件function.awk
cat >function.awk<<EOF
#!/usr/bin/awk
function sum(num1,num2)
{
  s=num1+num2;
  print s;
}

BEGIN{
  sum(1,2)
}
EOF

//运行function.awk文件
[root@test1 ~]# awk -f function.awk 
3
泡泡吐肥皂o © gitbook.pptfz.top 2021 all right reserved,powered by Gitbook文件修订时间: 秃笔南波湾!!!

results matching ""

    No results matching ""