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

sh/bash/dash/ksh/zsh等Shell脚本
回复
Messiya
帖子: 61
注册时间: 2009-12-02 15:49

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

#1

帖子 Messiya » 2010-08-04 19:49

本来是中文,到linux下成乱码了
我用
sed 's/[^0-9a-zA-Z]//g'

发现竟然去不了
如之奈何?
arserangel
帖子: 97
注册时间: 2007-02-09 8:33
来自: 深圳福田

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

#2

帖子 arserangel » 2010-08-04 22:06

那是你的文件不是utf-8编码吧,是要把所有中文的乱码全部删掉么?
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

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

#3

帖子 aerofox » 2010-08-04 23:24

代码: 全选

iconv -f=cp936 < 脚本文件名
试试。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

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

#4

帖子 eexpress » 2010-08-05 10:44

如果是研究正则。
去中文
记得是
s/\x80-\xff//g
额怎么写的去了。大概这意思吧。自己试试。

另外,ls说的编码,你多熟悉先。
● 鸣学
Messiya
帖子: 61
注册时间: 2009-12-02 15:49

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

#5

帖子 Messiya » 2010-08-06 15:58

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

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



多谢这位大哥了
cosechy
帖子: 82
注册时间: 2008-03-06 4:56

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

#6

帖子 cosechy » 2010-08-14 9:04

转码:
iconv -fgb18030
去中文:
tr -d $'\x80-\xff'

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

sed垃圾不支持无效字符,连.都匹配不了无效字符
grep也一样
非得用这俩东西的话估计你得设环境变量把语言变为C
gzbao9999
帖子: 627
注册时间: 2008-11-08 18:34

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

#7

帖子 gzbao9999 » 2010-08-16 15:28

学习下
气血鼓荡,身体发胀,偶飘上头,三时舒畅
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

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

#8

帖子 eexpress » 2010-08-16 16:12

代码: 全选

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