分页: 1 / 1

shell脚本如何去掉中文形成的乱码啊

发表于 : 2010-08-04 19:49
Messiya
本来是中文,到linux下成乱码了
我用
sed 's/[^0-9a-zA-Z]//g'

发现竟然去不了
如之奈何?

Re: shell脚本如何去掉中文形成的乱码啊

发表于 : 2010-08-04 22:06
arserangel
那是你的文件不是utf-8编码吧,是要把所有中文的乱码全部删掉么?

Re: shell脚本如何去掉中文形成的乱码啊

发表于 : 2010-08-04 23:24
aerofox

代码: 全选

iconv -f=cp936 < 脚本文件名
试试。

Re: shell脚本如何去掉中文形成的乱码啊

发表于 : 2010-08-05 10:44
eexpress
如果是研究正则。
去中文
记得是
s/\x80-\xff//g
额怎么写的去了。大概这意思吧。自己试试。

另外,ls说的编码,你多熟悉先。

Re: shell脚本如何去掉中文形成的乱码啊

发表于 : 2010-08-06 15:58
Messiya
eexpress 写了:如果是研究正则。
去中文
记得是
s/\x80-\xff//g
额怎么写的去了。大概这意思吧。自己试试。

另外,ls说的编码,你多熟悉先。



多谢这位大哥了

Re: shell脚本如何去掉中文形成的乱码啊

发表于 : 2010-08-14 9:04
cosechy
转码:
iconv -fgb18030
去中文:
tr -d $'\x80-\xff'

iconv -ct ascii
去无效字符:
iconv -c

sed垃圾不支持无效字符,连.都匹配不了无效字符
grep也一样
非得用这俩东西的话估计你得设环境变量把语言变为C

Re: shell脚本如何去掉中文形成的乱码啊

发表于 : 2010-08-16 15:28
gzbao9999
学习下

Re: shell脚本如何去掉中文形成的乱码啊

发表于 : 2010-08-16 16:12
eexpress

代码: 全选

cat xxx |perl -e '$_=<>; s/[\x80-\xff]//g; print;'
老有人问。
上次irc有人问。我写的这管道。