awk给外部变量赋值

假设将值存在文件t中,文件t内容如下,只有一行:a b c

需要将a、b和c分别赋给外部变量x、y和z,则脚本可写成如下:
eval $(awk '{ printf("x=%s\ny=%s\nz=%s",$1,$2,$3); }' ./t)

echo $x
echo $y
echo $z


请注意printf函数中的换行符\n是必须的,起关键作用的是eval命令,它在很多场景有特别的用处。

原文地址:https://www.cnblogs.com/aquester/p/9891847.html