Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2160733
  • 博文数量: 317
  • 博客积分: 5670
  • 博客等级: 大校
  • 技术积分: 3677
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-10 17:51
文章分类

全部博文(317)

文章存档

2016年(2)

2015年(44)

2014年(68)

2013年(42)

2012年(23)

2011年(51)

2010年(67)

2009年(17)

2008年(3)

分类: LINUX

2010-08-20 14:42:16

linux 用svn update更新,经常会遇到这个问题,如:

svn: Valid UTF-8 data
(hex:)
followed by invalid UTF-8 sequence
(hex: d5 d5 c6 ac)

这是由于在目录中有中文的文件名,而这个文件名确是用gb2312编码的,只能一个一个目录找,然后删掉它。
这里列出两个方法,一个方法用户找文件,然后直接删掉;另外一个则是找哪个目录下有这个非法文件名
1. 查找中文文件名
    find ./ -regexptype "posix-pegrep" -regexp "*/[^a-z0-9]+txt" -exec rm {} \;
    这个方法在找到文件后直接删除。如果想看看是哪些文件,则把 -exec rm {} \; 去掉。
2. 查找含有中文的目录
    for f in `find . ! -name '.' -type d -prune | egrep -v 'svn'`; do echo $f; svn update $f; done;
   这个方法是个偷懒的方法,在更新每个目录前,先 显示是那个目录:-)

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/suvi/archive/2010/03/12/5373568.aspx
阅读(5413) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~