awk的内置函数不算多,没有直接的函数可以判断整除,取绝对值,按位分割,因此实现这些功能需要借助其他函数
awk判断整除
用int取整函数实现
#判断输入数字能否被3整除
echo -e "2\n5\n6\n9" | awk '{
if (($1/3)==int($1/3))
print $1,"yes";
else
print $1,"no"
}' | cat
#输出
#2 no
#5 no
#6 yes
#9 yes
awk取绝对值
使用sqrt开方函数实现
#输出数据的绝对值
echo -e "-5\n-3.3\n0.3" | awk '{
print sqrt($1*$1)
}' | cat
#输出
# 5
# 3.3
# 0.3
awk按字节分割
awk默认按照空格分割列,也可以通过-F选项指定分割符。
但是如果提取每行的第2到第5个字符就不能通过-F来指定,需要用到substr函数。
#输出每行的第2-6个字符
echo -e "this is first line\nthis is second line" | awk '{
print substr($0,2,4)
}' | cat
#输出
# his i
# his i
标签:分割,函数,awk,绝对值,print,按位,整除
From: https://www.cnblogs.com/liangxuran/p/16603193.html