请高手帮我写一个批量转换编码和换行符的脚本阿,小弟拜谢…………

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
zhousiyv
帖子: 18
注册时间: 2008-02-12 20:43
送出感谢: 0
接收感谢: 0

请高手帮我写一个批量转换编码和换行符的脚本阿,小弟拜谢…………

#1

帖子 zhousiyv » 2008-10-12 21:44

具体是把一个文件夹下的文本(.c .h .txt ……)转换(utf8->gb18030,unix换行符-》dos 换行符) ,还有反过来的,多谢了,这两天搞的很辛苦。
gtx
帖子: 172
注册时间: 2005-10-28 17:40
送出感谢: 0
接收感谢: 0

Re: 请高手帮我写一个批量转换编码和换行符的脚本阿,小弟拜谢…………

#2

帖子 gtx » 2008-10-12 21:58

用recode。
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
送出感谢: 0
接收感谢: 3 次
联系:

Re: 请高手帮我写一个批量转换编码和换行符的脚本阿,小弟拜谢…………

#3

帖子 xiooli » 2008-10-12 22:31

for i in *.c *.h *.txt;do
sed -e :a -e '$!N; s/\n/\n\r/; ta' -i $i
iconv -f utf8 -t gb18030 $i -o new.$i
[ -f new.$i ] && mv new.$i $i
done

那个是从u8》gb的

for i in *.c *.h *.txt;do
sed 's/\r//' -i $i
iconv -f gb18030 -t utf8 $i -o new.$i
[ -f new.$i ] && mv new.$i $i
done

这个是gb》u8的

办法很土,未运行过,请谨慎尝试 :em06 期待高人的高招。。。
gtx
帖子: 172
注册时间: 2005-10-28 17:40
送出感谢: 0
接收感谢: 0

Re: 请高手帮我写一个批量转换编码和换行符的脚本阿,小弟拜谢…………

#4

帖子 gtx » 2008-10-13 2:26

转过去:

代码: 全选

recode utf-8/cr..gb18030/crlf *.c *.h *.txt
转回来:

代码: 全选

recode gb18030/crlf..utf-8/cr *.c *.h *.txt
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: 请高手帮我写一个批量转换编码和换行符的脚本阿,小弟拜谢…………

#5

帖子 eexpress » 2008-10-13 9:30

enconv * 就是了。
● 鸣学
头像
zhousiyv
帖子: 18
注册时间: 2008-02-12 20:43
送出感谢: 0
接收感谢: 0

Re: 请高手帮我写一个批量转换编码和换行符的脚本阿,小弟拜谢…………

#6

帖子 zhousiyv » 2008-10-13 22:09

谢谢楼上各位,原来只要一个命令,是我孤陋寡闻了,惭愧阿
回复

回到 “Shell脚本”