分享
 
 
 

在awk中如何引用shell的变量

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

NoFlow1=0

NoFlow0=1

while [$NoFlow1 -le 18]

do

export NoFlow1

while [$NoFlow0 -le 35]

do

export NoFlow0

ns txy.tcl

gawk -f txy.awk TRACE >> RESULT

NoFlow0='expr $NoFlow0+1'

done

NoFlow0=1

NoFlow1='expr $NoFlow1+1'

done

txy.tcl中要引用NoFlow0,NoFlow1两个变量,它运行产生的结果为TRACE.现在我要在txy.awk中

进行一个判断,当条件成立时,我需要记录此时上面两个变量NoFlow0,NoFlow1的值,(这两个值在TRACE中没有); 并且要跳出循环,请问谁能帮我?

或者,把判断移到shell script上来,gawk -f txy.awk TRACE > RESULT,对RESULT里面的数据

进行判断,当条件成立时,记录此时NoFlow0,NoFlow1的值, 把他们放到一个新文件内,并且跳出循环,请问如何做?

谢谢各位!

awk里面是支持系统环境变量的,但是不知道怎样使用用户自定义的局部变量。

只是见过有这样的用法: ENVIRON["EDITOR"]="Vi"

参考一下,尝试一下。

[这个贴子最后由valentine在 2002/03/30 06:28pm 编辑]

"'$varible'"

or

ENVIRON["varible"]

Hi, 我已经把问题解决了,非常感谢各位的帮助!!!

awk里面好像不能使用用户自定义的局部变量,比较头大!

没有听懂提问者locust的意思,不过见到大家在讨论awk中引用用户自定义变量的问题,不禁要来说两句。有点儿像我在如何设置动态变量帖(http://www.chinaunix.net/cgi-bin/bbs/topic.cgi?forum=11&topic=134&show=0)中讨论的问题一样,这个问题同样也是可以解决的,准确理解shell的解释机制和引号的功能,就可以想到这一点。(注意使用中的双引号而不是单引号,关于双引号和单引号的区别与利用,我会找时间专门整理成文。)请看:

#!/bin/sh

text='Thisisatext'

mytext='abcd'

echo $text|awk "{print "$mytext"}"

输出结果就是......

“abcd”

michaleds说的不错。

在“”里$,`,是视为特殊字符。

而在‘’里它们是普通字符。

这样,我们通常可以用三种形式在awk中使用环境变量了。

比较干脆的解决方法是使用awk的兄弟nawk,用法如下:

A=44

echo "ABCD" | nawk -v GET_A=$A '{print GET_A}'

....

注意nawk -v ,其作用就是类似为常数赋值的作用,每赋值一个常数加一个“-v”,如:

echo "ABCD" | nawk -v GET_A=$A -v GET_B=$B '{print GET_A GET_B}'

我之前提供的nawk文档对此项功能有说明,请细看。

但是最易用的方法我认为还是valentine说的awk '{print "'$str'"}'

看了楼上兄弟们的文字,收获真多啊!

我说一下我常用的方法:

A=something

echo "ABCD" | awk '{print a}' a=$A

不过这样定义的变量a跟用-va=$A定义的不同之处在于,

在BEGIN中是不能用的:(

在unix环境西的c程序可以使用awk命令吗

看了楼上兄弟们的文字,收获真多啊!

我说一下我常用的方法:

printf " 请输入局所号:"

read jsh

yyy=`awk '$2==jsh {print $1;}' jsh="$jsh" zjk`

在zjk文件中查找$2=变量jsh的记录,然后把$1的值赋于变量yyy

为什么不在BEGIN中定义呢?

awk 'BEGIN {定义局部变量 } { } ' filename

题目是要引用shell变量,不是定义局部变量

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有