llgd.net
当前位置:首页 >> 如何将Awk中定义的变量传递给外部shEll脚本 >>

如何将Awk中定义的变量传递给外部shEll脚本

awk将变量传给shell可以用eval, 如 eval $(awk 'BEGIN{print "a=ggg b=3"}') 则shell变量$a就是ggg,shell变量$b就是3

有两种方法: 方法一:通过环境变量,例如在终端定义环境变量var export var="abc"则在 awk 脚本中可以使用 ENVIRON 调用 printf ENVIRON["var"]方法二:通过 awk 内置变量 ARGC,ARGV,跟C/C++ 一样,但是是大写的,eg: printf ARGV[0]

awk中使用shell中的变量 一: "'$var'" 这种写法大家无需改变用'括起awk程序的习惯,是老外常用的写法.如: var="test" awk 'BEGIN{print "'$var'"}' 这种写法其实际是双括号变为单括号的常量,传递给了awk. 如果var中含空格,为了shell不把空格作为...

awk将变量传给shell可以用eval, 如 eval $(awk 'BEGIN{print "a=ggg b=3"}')则shell变量$a就是ggg,shell变量$b就是3 示例结果:

awk -vAwkParm=$ShellParm ' BEGIN { anum=0; } ........ 使用-v后面紧跟这参数AwkParm, ShellParm是SHELL里的变量。AwkParm可再AWK里直接使用。

awk中使用shell中的变量 一: "'$var'" 这种写法大家无需改变用'括起awk程序的习惯,是老外常用的写法.如: var="test" awk 'BEGIN{print "'$var'"}' 这种写法其实际是双括号变为单括号的常量,传递给了awk. 如果var中含空格,为了shell不把空格作为...

bash-4.2$ i=2 bash-4.2$ awk ' { print i }' i="$i" - a 2 awk命令行是可以 有赋值参数的,形式为 :变量名=值,放在awk指令和文件名之间

可以考虑将n的值放在一个文件中,下面有一个例子,可以参考: awk 'BEGIN { system("echo 1234 > tmpfile");}'test111=`cat tmpfile`echo $test111rm -f tmpfile

#!/bin/bash#使用方法:./script.sh filenamea=$(sed -n '$p' $1 | awk -F"," '{print $1}')b=$(sed -n '1!P;N;$q;D' $1 | awk -F"," '{print $1}')echo $a echo $b

$ awk -v var1=hello -v var2=world 'BEGIN{print var1,var2}'

网站首页 | 网站地图
All rights reserved Powered by www.llgd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com