之所以出现乱码是因为所压缩的文件中,有的文件是以中文命名。而在windows下中文的编码一般为gbk,而linux下中文的编码一般为utf8,所以在windows下正常打开的文件,到linux下很可能会出现乱码。
解决办法为:使用命令iconv对文件内容编码进行转换。例如我有一个文件"linux常用命令"在windows下打开正常,而在linux下打开则会乱码,办法为在终端输入:
iconv -f gbk -t utf8 inputfile > outputifile
注意:outputfile不能与inputfile的名字相同。
之后再打开"outputfile"这个文件,该文见的乱码问题就解决了。
转换完格式以后需要批量的重命名:
for i in `ls`; do mv $i $(sed ‘s/}//‘ <<< $i); done
此时需要注意一个重要概念, <<< 意为将后面的内容作为前面命令的标准输入
原文地址:http://frankch.blog.51cto.com/10836181/1786131