免费注册 查看新帖 |

Chinaunix

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

关于GNU Awk 3.1.5的一个问题 [复制链接]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
11 [报告]
发表于 2009-06-11 14:44 |只看该作者
try:
echo "AAAAAAaBBBBBBBBBbc"|awk '{gsub(/[A-Za-z]?/,"&,");print}'

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-01-24 06:20:00
12 [报告]
发表于 2009-06-11 14:53 |只看该作者

回复 #11 寂寞烈火 的帖子

这样也无问题:

$ echo "AAAAAAaBBBBBBBBBbc"|awk '{gsub(/[A-Za-z]?/,"&,");print}'
A,A,A,A,A,A,a,B,B,B,B,B,B,B,B,B,b,c,
$ echo $LANG
zh_CN.UTF-8

论坛徽章:
0
13 [报告]
发表于 2009-06-11 17:29 |只看该作者
原帖由 Minsic 于 2009-6-11 14:41 发表
LANG原本就已经export了,再次export干嘛?

你修改了LANG,不export后面fork的进程怎么会知道?

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-01-24 06:20:00
14 [报告]
发表于 2009-06-11 17:38 |只看该作者

回复 #13 jinl 的帖子

做了个简单的测试:

$  cat xx
echo $var
$  xx

$  export var=1
$  xx
1
$  var=2
$  xx
2
$  

论坛徽章:
0
15 [报告]
发表于 2009-06-11 17:40 |只看该作者
原帖由 Minsic 于 2009-6-11 17:38 发表
做了个简单的测试:


你的测试都是在当前shell,但是你的脚本里echo "***"|awk ...
管道后面会产生新的子shell,环境变量是会改变的
所以4楼的脚本里面LANG和awk要用()包含起来

[ 本帖最后由 jinl 于 2009-6-11 17:44 编辑 ]

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-01-24 06:20:00
16 [报告]
发表于 2009-06-11 17:44 |只看该作者

回复 #15 jinl 的帖子

再看一个:

$  cat xx
echo $LANG
echo $$
$  echo $LANG
zh_CN.utf8
$  echo $$
11512
$  ps
  PID TTY          TIME CMD
11512 pts/0    00:00:02 bash
20892 pts/0    00:00:00 ps
$  xx
zh_CN.utf8
20906
$  

论坛徽章:
0
17 [报告]
发表于 2009-06-11 17:47 |只看该作者

回复 #16 Minsic 的帖子

不用看那么多,你把7楼你的脚本中LANG=zh_CN 这个改成export LANG=zh_CN
再做一遍,就知道了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP