【linux学习笔记】windows与linux换行符转换(unix2dos dos2unix) 字符编码转换(iconv)

unix2dos dos2unix

dos使用的断行字符为^M$,称为CR与LF两个符号。而在linux下,则是仅有LF($)这个断行符号。

linux执行指令的时候,是按照enter键来判断,而linux的enter是LF符号,而dos下enter为CRLF,多了一个^M出来。因此执行shell script时会出现错误。
可以通过unix2dos,dos2unix来进行相互转换。
语法:

unix2dos [-kn] file [newfile]

-k表示保留档案原来的mtime,也就是修改时间。(即本次修改不更改档案的修改时间)
-n表示保留原来的档案,把转变后的档案输出到新档案newfile。

例子

unix2dos -k filename
dos2unix -kn filename newfile

dos换行符下的档案会比linux下的档案大,因为多^M字符。


icnov

如果需要进行语系编码间的转换,可以用到icnov这个命令。
语法:

icnov –list
icnov -f old -t new filename [-o newfile]

-icnov –list列出支持的语系
-f 表示from,后边接原来编码
-t 表示to,后边接想转换的编码
-o 表示保留原来档案,建立新档案,档案名称为newfile。

例子

icnov -f gb2312 -t utf8 -o file.utf8

没怎么用过这个命令,不过看鸟哥书上写的把utf8(繁体中文)转为简体中文的UTF8时,是先转到gb2312,再转到utf8(简体中文)。是这么写的:

iconv -f utf8 -t big5 vi.utf8 | iconv -f big5 -t gb2312 | iconv -f gb2312 -t utf8 -o vi.gb.utf8

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值