txt在linux下换⾏符,Linux下的换⾏符nr以及txt和word⽂档的使
⽤
Linux doc by: zollty
小冰箱WINDOWS下记事本编写的⽂档和LINUX下VIM或者GEDIT等编写的⽂档的不同!
例如WINDOWS下编写的SH脚本,放到LINUX下执⾏可能会出错。
解决⽅法:
原因是:Windows下换⾏符号是“\r\n”,⽽linux下是“\n”没有”\r”,当shell⽂件是在Windows下编写的时候,所有的换⾏符都
是“\r\n”,shell下是没办法执⾏这个⽂件的,会提⽰以上错误。请在ultraedit下将该⽂件执⾏“File->conversions->Dos to Unix”,执⾏这个转化后的sh⽂件能够直接在linux下执⾏。这步操作能够就是取消”\r”符号。
在 client 端選 ascii 即可。
若已經⽤ binary 完成 transfer ,那就試試:
| col -b >
Linux下新建的⽂档在Windows下⽤记事本打开会挤在⼀起(没有了换⾏符),原因是记事本不⽀持\n换⾏(它只⽀持\r\n形式的换⾏),
解决⽅法:word打开是乱码
保存成doc格式⽤Word打开就可以了,这样在Linux下⽤Vim或者gedit新建doc⽂档(属于纯⽂本doc⽂档)(或者新建成.c⽂档,在Windows中可以⽤VC6.0来浏览!)。要打开也可以直接输⼊命令: (注意,如果⽂件名是中⽂,那有可能不到,须要ls⼀下,然后复制⽂件名,然后再gedit 粘贴⽂件名)
gedit xx.doc
或者vim xx.doc(不推荐,vim可能不⽀持繁体字)
中国沙发十大品牌或者直接到⽂件,点击,⽤Open Office来打开,选择字符集(系统),字符(SYSong18030),语⾔(中⽂简体),换段落:
1. CR&LF,即\r\n,这是Windows下记事本的格式,Linux是完全⽀持的;(推荐)
2. CR,即\r,记事本不⽀持,没有换⾏效果,也没有\r效果;Word下有换⾏效果,也有\r,其\r效果是:在每⼀⾏的末尾,默认的光标定位是下⼀⾏的⾏⾸,也就是说在⾏尾输⼊的内容实际上是下⼀⾏的⾏⾸,\r才是真正的换⾏。⽽\n是回车,原意是打字机的纸张往下移动⼀位,后来在linux/unix系统下,\n成为了实际上的换⾏符。
3. LF,即\n,linux/unix系统下的换⾏符。
如果是Windows下编写的doc⽂档,在Linux下查看(⽤Open Office)⼀般都会乱码,
解决⽅法:
先⽤Open Office打开,然后再全选,把字体设置为SYSong18030,OK中⽂简体和繁体都显⽰正常了。
\r是回车符,\n是换⾏符,各个系统的换⾏标志:
win ⽤ \r\n
linux/unix ⽤ \n
Mac OS ⽤ \r
CR⽤符号'\r'表⽰, ⼗进制ASCII代码是13, ⼗六进制代码为OxOD
LF使⽤'\n'符号表⽰, ASCII代码是10, ⼗六制为0x0A
所以Windows下⽤的是OAOD,即CR&LF,
linux/unix⽤的是OA,即LF
MacOS⽤的是OD,即CR
来历:计算机还没有出现之前,有⼀种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有⼀个问题,就是打完⼀⾏换⾏的时候,要⽤去0.2秒,正好可以打两个字符。要是在这0.2秒⾥⾯,⼜有新的字符传过来,那么这个字符将丢失。
于是,研制⼈员想了个办法解决这个问题,就是在每⾏后⾯加两个表⽰结束的字符。⼀个叫做“回车”,告诉打字机把打印头定位在左边界;另⼀个叫做“换⾏”,告诉打字机把纸向下移⼀⾏。这就是“换⾏”和“回车”的来历,从它们的英语名字上也可以看出⼀⼆。
后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,⼀些科学家认为在每⾏结尾加两个字符太浪费了,加⼀个就可以。于是,就出现了分歧。Unix 系统⾥,每⾏结尾只有“”,
即“\n”;Windows系统⾥⾯,每⾏结尾是“”,即“ \r\n”;Mac系统⾥,每⾏结尾是“”。⼀个直接后果是,Unix/Mac系统下的⽂件在Windows⾥打开的话,所有⽂字会变成⼀⾏;⽽Windows⾥的⽂件在Unix/Mac下打开的话,在每⾏的结尾可能会多出⼀个^M符号。
(在不同平台间使⽤FTP软件传送⽂件时, 在ascii⽂本模式传输模式下, ⼀些FTP客户端程序会⾃动对换⾏格式进⾏转换. 经过这种传输的⽂件字节数可能会发⽣变化. 如果你不想ftp修改原⽂件, 可以使⽤bin模式(⼆进制模式)传输⽂本)王健林家族
\n和\r在C语⾔中的⽤法:
#include
int main()
{
宁波旅游点printf("938517\r10086\n");
return 0;
}
重阳节又叫什么节⽆论是Linux系统还是Windows平台,输⼊均是
10086
因为\r已经换⾏了,所以938517就不再显⽰了。⽽\n并不是真正意义上的换⾏,它实际上是把纸张(或屏幕)向下移动⼀位(以便显⽰下⼀⾏的内容)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论