首页 > 代码库 > 系统字符集导致的sed 执行完成不退出
系统字符集导致的sed 执行完成不退出
因网站方面需要批量替换代码,本来挺简单的一件事却整了半天!
执行一个简单的sed批量替换脚本sh th.sh,只有二百兆的一个目录,执行了老半天,因此觉得有问题,Ctrl+c停止后,加上了 -x 输出详细信息,发现到某个文件时卡着不动,于是手动sed此文件执行完成后不退出,需要Ctrl + c停止(也试了简单字符串的替换)
刚开始怀疑是动态文件,于是复制此文件到其他目录,但执行效果一样,将此文件copy到另一台服务器执行正常。又查了必应和Google有相同问题但没解答,尝试vim此文件,里面出现大量中文乱码,xshell的字符集调为utf-8,正常显示,但系统中文提示显示为乱码,故怀疑和系统字符集有关系(系统是之前运维同事搭的),查看/etc/sysconfig/i18n后发现 LANG="zh_CN.GB18030" ,改为 LANG="zh_CN.UTF-8" (备份之前)
# source /etc/sysconfig/i18n #使之立即生效
再测试发现运行正常。做下记录给后面的童鞋
总结:系统字符集与html文件字符集不统一
注:查必应期间发现有部分网友shell脚本也出现非死循环不退出,或者也有关系!
本文出自 “linux_wei” 博客,请务必保留此出处http://linuxww.blog.51cto.com/11418425/1871733
系统字符集导致的sed 执行完成不退出
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。