一、split 初始化和类型强制
awk的内建函数split允许你把一个字符串分隔为单词并存储在数组中。你可以自己定义域分隔符或者使用现在FS(域分隔符)的值。
格式:
split (string, array, field separator)
split (string, array) -->如果第三个参数没有提供,awk就默认使用当前FS值。
split (string, array) -->如果第三个参数没有提供,awk就默认使用当前FS值。
time="12:34:56" out=`echo $time | awk '{split($0,a,":");print a[1],a[2],a[3]}'` echo $out
实例二:
getline和split接合使用:
root@:~# curl -s http://127.0.0.1/nginx_status|awk '/server accepts handled requests/{getline;split($0,a);print a[2]}' 303224370
或者:
curl -s http://127.0.0.1/nginx_status|awk '/server accepts handled requests/{getline a;split(a,s);print s[length(s)]}' 377178501
上面例子将getline得到的下一行的内容放在了a这个变量里,因此NF,NR,FNR和$0等内部变量并不会被改变。