免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 5771 | 回复: 33

[文本处理] awk '{print $'$A'}' 1.txt的$A为什么能替换变量?? [复制链接]

论坛徽章:
5
天秤座
日期:2015-04-08 20:28:42辰龙
日期:2015-04-08 20:35:06寅虎
日期:2015-04-08 20:35:56子鼠
日期:2015-04-08 20:36:192015亚冠之迪拜阿赫利
日期:2015-05-13 16:52:25
发表于 2015-04-10 17:08 |显示全部楼层
本帖最后由 ywmkelly 于 2015-04-12 23:10 编辑
  1. [root@localhost test]# echo $A
  2. 0
  3. [root@localhost test]# awk '{print 不是说单引号中的变量不能替换么,为何这个变量能够被替换的呢?
  4. 是不是说两个单引号就变成双引号了呢?
  5. 有没人帮忙解答下谢谢!$A'}' 1.txt
  6. abc     def
  7. 111     2222
  8. 4444    333
  9. [root@localhost test]# awk '{print $A}' 1.txt
  10. abc     def


  11. [root@localhost test]#
复制代码
不是说单引号中的变量不能替换么,为何这个变量能够被替换的呢?
是不是说两个单引号就变成双引号了呢?
有没人帮忙解答下谢谢!

这里乱码,请看下面的图片。
刚刚13问里头看到的。不明白,就问问各位。


=============已经解决,谢谢各位============

论坛徽章:
5
天秤座
日期:2015-04-08 20:28:42辰龙
日期:2015-04-08 20:35:06寅虎
日期:2015-04-08 20:35:56子鼠
日期:2015-04-08 20:36:192015亚冠之迪拜阿赫利
日期:2015-05-13 16:52:25
发表于 2015-04-10 17:10 |显示全部楼层
加了code了,坛子里的代码都出问题。哎。我上图片。

论坛徽章:
5
天秤座
日期:2015-04-08 20:28:42辰龙
日期:2015-04-08 20:35:06寅虎
日期:2015-04-08 20:35:56子鼠
日期:2015-04-08 20:36:192015亚冠之迪拜阿赫利
日期:2015-05-13 16:52:25
发表于 2015-04-10 17:12 |显示全部楼层
QQ图片20150410171019.png

论坛徽章:
28
2015年迎新春徽章
日期:2015-03-04 10:16:53午马
日期:2015-03-20 17:11:07亥猪
日期:2015-03-20 17:11:23戌狗
日期:2015-03-20 17:11:33酉鸡
日期:2015-03-20 17:11:47申猴
日期:2015-03-20 17:11:58未羊
日期:2015-03-20 17:12:10子鼠
日期:2015-03-20 17:12:23丑牛
日期:2015-03-20 17:12:40卯兔
日期:2015-03-20 17:12:51辰龙
日期:2015-03-20 17:13:00巳蛇
日期:2015-03-20 17:13:12
发表于 2015-04-10 17:13 |显示全部楼层
确实没传进来,你前面定义A为别的值后面的输出结果是一样的....

论坛徽章:
5
天秤座
日期:2015-04-08 20:28:42辰龙
日期:2015-04-08 20:35:06寅虎
日期:2015-04-08 20:35:56子鼠
日期:2015-04-08 20:36:192015亚冠之迪拜阿赫利
日期:2015-05-13 16:52:25
发表于 2015-04-10 17:15 |显示全部楼层
回复 4# 我是一隻羊
  1. [root@localhost test]# awk '{print 那为何A换成B会这样的$B'}' 1.txt
  2. awk: cmd. line:1: {print $}
  3. awk: cmd. line:1:         ^ syntax error
  4. [root@localhost test]#
复制代码
那为何A换成B会这样的

论坛徽章:
28
2015年迎新春徽章
日期:2015-03-04 10:16:53午马
日期:2015-03-20 17:11:07亥猪
日期:2015-03-20 17:11:23戌狗
日期:2015-03-20 17:11:33酉鸡
日期:2015-03-20 17:11:47申猴
日期:2015-03-20 17:11:58未羊
日期:2015-03-20 17:12:10子鼠
日期:2015-03-20 17:12:23丑牛
日期:2015-03-20 17:12:40卯兔
日期:2015-03-20 17:12:51辰龙
日期:2015-03-20 17:13:00巳蛇
日期:2015-03-20 17:13:12
发表于 2015-04-10 17:16 |显示全部楼层
回复 5# ywmkelly


    因为你B后面多了个单引号.....

论坛徽章:
5
天秤座
日期:2015-04-08 20:28:42辰龙
日期:2015-04-08 20:35:06寅虎
日期:2015-04-08 20:35:56子鼠
日期:2015-04-08 20:36:192015亚冠之迪拜阿赫利
日期:2015-05-13 16:52:25
发表于 2015-04-10 17:17 |显示全部楼层
QQ图片20150410171506.png

论坛徽章:
5
天秤座
日期:2015-04-08 20:28:42辰龙
日期:2015-04-08 20:35:06寅虎
日期:2015-04-08 20:35:56子鼠
日期:2015-04-08 20:36:192015亚冠之迪拜阿赫利
日期:2015-05-13 16:52:25
发表于 2015-04-10 17:18 |显示全部楼层
定义B=0就显示出来了

论坛徽章:
28
2015年迎新春徽章
日期:2015-03-04 10:16:53午马
日期:2015-03-20 17:11:07亥猪
日期:2015-03-20 17:11:23戌狗
日期:2015-03-20 17:11:33酉鸡
日期:2015-03-20 17:11:47申猴
日期:2015-03-20 17:11:58未羊
日期:2015-03-20 17:12:10子鼠
日期:2015-03-20 17:12:23丑牛
日期:2015-03-20 17:12:40卯兔
日期:2015-03-20 17:12:51辰龙
日期:2015-03-20 17:13:00巳蛇
日期:2015-03-20 17:13:12
发表于 2015-04-10 17:20 |显示全部楼层
本帖最后由 我是一隻羊 于 2015-04-10 17:20 编辑

回复 7# ywmkelly


是这样的...没太明白你在问什么...都说下吧...

awk想引用外部定义的变量的话,可以这样.....
  1. a=1
  2. awk '{print '$a'}' inputfile
  3. awk -va=$a '{print $a}' inputfile
复制代码
然后你的疑问是啥?

论坛徽章:
5
天秤座
日期:2015-04-08 20:28:42辰龙
日期:2015-04-08 20:35:06寅虎
日期:2015-04-08 20:35:56子鼠
日期:2015-04-08 20:36:192015亚冠之迪拜阿赫利
日期:2015-05-13 16:52:25
发表于 2015-04-10 17:23 |显示全部楼层
回复 9# 我是一隻羊


    我问的是引号定义问题。
刚看了13问第4篇,没明白。
既然单引号内都是原样输出,为何还能以这样方式带入变量?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP