Board logo

标题: [问题求助] sed时被替换的字符是汉字怎么办? [打印本页]

作者: lj84831253    时间: 2010-4-18 22:16     标题: sed时被替换的字符是汉字怎么办?

代码是:sed  's/月/Y/g' 2.txt > 1.txt
2.txt里边的内容是:4月18日(日) 21:34
为什么替换不了?求救。。。
作者: GNU    时间: 2010-4-18 22:19

1、应该用双引号而不是单引号。
2、不使用more很多时候会得不到想要的结果。
3、sed版本是什么?
作者: lj84831253    时间: 2010-4-18 22:34

忘了什么版本的,,宿舍要熄灯了,我明天几个版本一个一个试下再来,谢谢你!~
作者: lj84831253    时间: 2010-4-18 22:39

原帖由 GNU 于 2010-4-18 22:19 发表
1、应该用双引号而不是单引号。
2、不使用more很多时候会得不到想要的结果。
3、sed版本是什么?
4.2版本的,不用more替换汉字发现2.txt里边跟1.txt里边一样,没变化。用more后发现乱码了。
4.14版本的,不论加不加more都是没变化。何解??

[ 本帖最后由 lj84831253 于 2010-4-18 22:40 编辑 ]
作者: hanyeguxing    时间: 2010-4-19 00:57

  1. sed "s/月/Y/g" 2.txt>1.txt
复制代码

作者: lj84831253    时间: 2010-4-19 10:02

原帖由 hanyeguxing 于 2010-4-19 00:57 发表
sed "s/月/Y/g" 2.txt>1.txt
还是不行呀,,好奇怪。执行后1.txt里边的内容和2.txt里边的一样。
2.txt里边的内容是:4月18日(日) 21:34
作者: GNU    时间: 2010-4-19 12:41

用-i直接修改2.txt的内容行吗?
  1. sed -i "s/月/Y/g" 2.txt
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2