免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: ywmkelly
打印 上一主题 下一主题

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

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
11 [报告]
发表于 2015-04-10 17:25 |只看该作者
不看楼主的例子,只回答标题的这个问题吧。
用了几个单引号,其实这是在shell命令行上就把这个$A替换了,而不是在awk里,看例子:
  1. [seesea@UC ~]$ A=0
  2. [seesea@UC ~]$ echo '{print 其实就是三个字符串相接而已(下面把$A和前后两个字符串分的远一点你好看到):[code][seesea@UC ~]$ echo '{print $A'}'
  3. {print $0}
复制代码
其实就是三个字符串相接而已(下面把$A和前后两个字符串分的远一点你好看到):[        DISCUZ_CODE_1        ]         $A          '}'
{print $ 0 }[/code]$A'}'
{print $0}[/code]其实就是三个字符串相接而已(下面把$A和前后两个字符串分的远一点你好看到):[        DISCUZ_CODE_1        ]

论坛徽章:
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
12 [报告]
发表于 2015-04-10 17:26 |只看该作者
噢。谢谢,原来是这样。我还以为是单引号嵌套使用的。。。晕

论坛徽章:
10
2015年亚洲杯之科威特
日期:2015-04-13 13:51:5315-16赛季CBA联赛之山东
日期:2016-01-16 18:35:0815-16赛季CBA联赛之广东
日期:2016-01-04 15:26:23程序设计版块每日发帖之星
日期:2015-11-13 06:20:002015亚冠之阿尔艾因
日期:2015-11-10 12:32:242015亚冠之阿尔沙巴布
日期:2015-05-15 18:26:49羊年新春福章
日期:2015-04-28 16:45:112015年亚洲杯之伊拉克
日期:2015-04-25 20:06:30羊年新春福章
日期:2015-04-13 13:53:2015-16赛季CBA联赛之八一
日期:2016-01-20 18:23:49
13 [报告]
发表于 2015-04-10 17:27 |只看该作者
回复 9# 我是一隻羊

第一种是不行的,得这么用

  1. s=xxoo
  2. awk 'BEGIN{print "'$a'"}'
复制代码

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
14 [报告]
发表于 2015-04-10 17:27 |只看该作者
[ 本帖最后由 seesea2517 于 2015-04-10 17:29 编辑 ]

[b]回复 [url=forum.php?mod=redirect&goto=findpost&pid=&ptid=4174257]11#[/url] [color=Olive]seesea2517[/color] [/b]


    天哪,这格式乱的……
试试手打的code标签看看:
不看楼主的例子,只回答标题的这个问题吧。
用了几个单引号,其实这是在shell命令行上就把这个$A替换了,而不是在awk里,看例子:
[code]
[seesea@UC ~]$ A=0
[seesea@UC ~]$ echo '{print $'$A'}'
{print $0}
[/code]

其实就是三个字符串相接而已(下面把$A和前后两个字符串分的远一点你好看到):
[code]
[seesea@UC ~]$ echo '{print $'         $A          '}'
{print $ 0 }
[/code]

论坛徽章:
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
15 [报告]
发表于 2015-04-10 17:28 |只看该作者
回复 10# ywmkelly


碰到第一个单引号时,忽略直到"下一个"单引号为止的特殊字符,不是"最后一个".

论坛徽章:
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
16 [报告]
发表于 2015-04-10 17:28 |只看该作者
回复 11# seesea2517


    我的问题已经想明白了,你的反正乱码,是看不明白,不过谢谢了。

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
17 [报告]
发表于 2015-04-10 17:29 |只看该作者
回复 16# ywmkelly


    算了,不努力了,还是乱码。

论坛徽章:
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
18 [报告]
发表于 2015-04-10 17:29 |只看该作者
回复 13# drakness
你确定你这命令没问题?

   

论坛徽章:
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
19 [报告]
发表于 2015-04-10 17:30 |只看该作者
回复 13# drakness


    多谢纠正.

论坛徽章:
10
2015年亚洲杯之科威特
日期:2015-04-13 13:51:5315-16赛季CBA联赛之山东
日期:2016-01-16 18:35:0815-16赛季CBA联赛之广东
日期:2016-01-04 15:26:23程序设计版块每日发帖之星
日期:2015-11-13 06:20:002015亚冠之阿尔艾因
日期:2015-11-10 12:32:242015亚冠之阿尔沙巴布
日期:2015-05-15 18:26:49羊年新春福章
日期:2015-04-28 16:45:112015年亚洲杯之伊拉克
日期:2015-04-25 20:06:30羊年新春福章
日期:2015-04-13 13:53:2015-16赛季CBA联赛之八一
日期:2016-01-20 18:23:49
20 [报告]
发表于 2015-04-10 17:35 |只看该作者
回复 18# ywmkelly


    有问题请指正
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP