BBS.ChinaUnix.net
首页 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  会员: 密码: 免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 


如何在awk命令里引用变量
首页 » 论坛 » Shell »  
[打印] [订阅] [收藏] [本帖文本页] [推荐此主题给朋友,立即获积分]
lil33
圣骑士




UID:152977
注册:2004-4-19
最后登录: 2008-10-16
帖子:92
精华:0

可用积分:101 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


1楼 发表于 2008-7-1 15:56 
myfile

1   dsklk    dsfjkjl39p
2   3iiorweo  erewoi
3   e2ejjksd 09mm

在shell脚本里有这样一行

a=2;awk '{if($1>$a)print$0}' myfile

输出的结果应该是

3   e2ejjksd 09mm

但实际上,这条命令不能执行,因为在单引号里$a这个变量无法识别出,有没有其他的办法?



您对本贴的看法:鲜花[0] 臭蛋[0]
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
hh9net
精灵
此人密码是111111



UID:574342
注册:2007-6-11
最后登录: 2008-09-26
帖子:153
精华:0

可用积分:160 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...保密...

[个人空间] [短信] [博客]


2楼 发表于 2008-7-1 16:12 
awk -v a=2 '{if($1>a)print$0}' myfile



您对本贴的看法:鲜花[0] 臭蛋[0]
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
lil33
圣骑士




UID:152977
注册:2004-4-19
最后登录: 2008-10-16
帖子:92
精华:0

可用积分:101 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


3楼 发表于 2008-7-1 16:15 


QUOTE:
原帖由 hh9net 于 2008-7-1 16:12 发表
awk -v a=2 '{if($1>a)print$0}' myfile

多谢多谢...
没想到这么简单,,一定要仔细看看资料了。。。



您对本贴的看法:鲜花[0] 臭蛋[0]
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
hh9net
精灵
此人密码是111111



UID:574342
注册:2007-6-11
最后登录: 2008-09-26
帖子:153
精华:0

可用积分:160 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...保密...

[个人空间] [短信] [博客]


4楼 发表于 2008-7-1 16:17 
呵呵,楼主的比我注册的早多了



您对本贴的看法:鲜花[0] 臭蛋[0]
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
liaosnet   帅哥 (暗夜星空)
法王
休息休息



UID:306408
注册:2005-8-25
最后登录: 2008-10-17
帖子:14050
精华:0

可用积分:5739 (富足长乐)
信誉积分:320
专家积分:536 (本版:0)
空间积分:2
推广积分:5

来自:广州<-->杭州
状态:...离线...

[个人空间] [短信] [博客]


5楼 发表于 2008-7-1 16:19 
awk '{if($1>$a)print$0}' a=2 myfile



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

有时候回答问题是信口开河......
因此不保证所有回复问题的答案的准确性.
如果正好是对的,那是碰到了死耗子..呵呵.
想着休息,不想做事!13580e0uhvs
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
zhaopingzi   帅哥 (superrookie)
风云使者



UID:146737
注册:2004-3-30
最后登录: 2008-10-15
帖子:652
精华:0

可用积分:757 (稍有积蓄)
信誉积分:100
专家积分:5 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


6楼 发表于 2008-7-1 16:20 


a=2;awk '{if($1>'$a')print$0}' myfile

这样就可以了



您对本贴的看法:鲜花[0] 臭蛋[0]
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
hh9net
精灵
此人密码是111111



UID:574342
注册:2007-6-11
最后登录: 2008-09-26
帖子:153
精华:0

可用积分:160 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...保密...

[个人空间] [短信] [博客]


7楼 发表于 2008-7-1 16:22 


QUOTE:
原帖由 liaosnet 于 2008-7-1 16:19 发表
awk '{if($1>$a)print$0}' a=2 myfile

好象不对啊

[root@localhost ~]# awk '{if(0>$a)print$0}' a=2 hehe
123
456
345

居然有东西输出



您对本贴的看法:鲜花[0] 臭蛋[0]
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
liaosnet   帅哥 (暗夜星空)
法王
休息休息



UID:306408
注册:2005-8-25
最后登录: 2008-10-17
帖子:14050
精华:0

可用积分:5739 (富足长乐)
信誉积分:320
专家积分:536 (本版:0)
空间积分:2
推广积分:5

来自:广州<-->杭州
状态:...离线...

[个人空间] [短信] [博客]


8楼 发表于 2008-7-1 16:27 


QUOTE:
原帖由 hh9net 于 2008-7-1 16:22 发表



好象不对啊

[root@localhost ~]# awk '{if(0>$a)print$0}' a=2 hehe
123
456
345

居然有东西输出

$ more 11.txt
number:1236
date:20080613
$ awk '{print $0"|"a}' a=TEST 11.txt
number:1236|TEST
date:20080613|TEST
$ awk -F":" '{if($2>a){print $0}}' a=3000 11.txt
date:20080613

[ 本帖最后由 liaosnet 于 2008-7-1 16:29 编辑 ]



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

有时候回答问题是信口开河......
因此不保证所有回复问题的答案的准确性.
如果正好是对的,那是碰到了死耗子..呵呵.
想着休息,不想做事!13580e0uhvs
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
liaosnet   帅哥 (暗夜星空)
法王
休息休息



UID:306408
注册:2005-8-25
最后登录: 2008-10-17
帖子:14050
精华:0

可用积分:5739 (富足长乐)
信誉积分:320
专家积分:536 (本版:0)
空间积分:2
推广积分:5

来自:广州<-->杭州
状态:...离线...

[个人空间] [短信] [博客]


9楼 发表于 2008-7-1 16:29 
回复 #7 hh9net 的帖子

自己检查有没有输入错误~~:em17: :em17:



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

有时候回答问题是信口开河......
因此不保证所有回复问题的答案的准确性.
如果正好是对的,那是碰到了死耗子..呵呵.
想着休息,不想做事!13580e0uhvs
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
hh9net
精灵
此人密码是111111



UID:574342
注册:2007-6-11
最后登录: 2008-09-26
帖子:153
精华:0

可用积分:160 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...保密...

[个人空间] [短信] [博客]


10楼 发表于 2008-7-1 16:34 


QUOTE:
原帖由 liaosnet 于 2008-7-1 16:19 发表
awk '{if($1>$a)print$0}' a=2 myfile

呵呵,多了个$



您对本贴的看法:鲜花[0] 臭蛋[0]
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?

首页 » 论坛 » Shell »


 


Copyright © 2001-2008 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP

Processed in 0.139618 second(s), 4 queries , Gzip enabled