免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
论坛 程序设计 Shell awk
最近访问板块 发新帖
查看: 2649 | 回复: 2
打印 上一主题 下一主题

awk [复制链接]

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
1 [报告]
发表于 2009-02-27 09:28 |显示全部楼层
awk的变量引用方式错误~~
方法一
awk -v ppip=${ppip} '{ ppip}'
方法二
awk '{'"${ppip}"'}'
注意 引号的位置...

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
2 [报告]
发表于 2009-02-27 15:16 |显示全部楼层
原帖由 无声无息 于 2009-2-27 15:07 发表


讨论一下这个问题

awk '{if($1=="'$a'") print $1}' 1.txt #单引号包着$a
awk '{if($1=='$a') print $1}' 1.txt   
awk '{if($1=='"$a"') print $1}' 1.txt #双引号包着$a


awk '{print $1 "'$a"' ...


awk '{if($1=="'$a'") print $1}' 1.txt #单引号包着$a
awk '{if($1=='$a') print $1}' 1.txt   
awk '{if($1=='"$a"') print $1}' 1.txt #双引号包着$a

我们在这里定义
a='1234 5678' #注意4 5之间的空格..
分别放到这三项里...那么...
awk '{if($1=="'1234 5678'") print $1}' 1.txt # 这个将报错,因为4 5之间的空格把语包给断了..
awk '{if($1=='1234 5678') print $1}' 1.txt  #这个同样...
awk '{if($1=='"1234 5678"') print $1}' 1.txt #这个不报错,因为双引号把空格的含义取消了..
但如果a='1234'呢.则没有问题...

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
3 [报告]
发表于 2009-02-27 15:24 |显示全部楼层

回复 #12 无声无息 的帖子

尝试下不就知道了?..
不过对于引用的话,在awk里也最好写上",以防出错...还是空格的原因...
awk -F'|' '{if ($1=="'"$a"'")print $1}'
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP