A. windows xp系统如何转换linux系统传过来的文本内回车换行符的问题
sed
-e
's/$/\r/'
1pnet.txt
>dos.txt
这行命令我来解释下吧、你要是没linux操作系统的知识,的确看不懂。
sed
是个工具
-e
是它的其中一个参数。's/$/\r/'
在每行结尾添加一个windows的换行符。
s
搜索
$
结尾,行末的意思
\r
windows
的换行符
因linux
和windows的换行符是不同的。
1pent.txt
是你的文件名,
>dos.txt
就是把处理完得内容覆盖添加到dos.txt
这个文件中。
你需要在1pent.txt
这个文件的目录下
执行那条命令。
B. 在LINUX命令行中要怎么换行
就能换行 并且不影响你继续写命令,
出现>可以继续输入命令。
例如:apache源代码安装,
./configure --prefix=/export/apache
--enable-moles=most
--enable-mods-shared=all
--enable-so
--enable-rewrite
C. linux如何将调试信息中的换行符会自动转换为回车+换行
linux系统文本文件的换行只是一个换行符。即“\n”,windows是回车加换行"\r\n"。你的文件是用linux生成的,所以每行的结尾只有一个换行符(\n),这样产生的文件在windows系统的一些文本编辑器中显示时是不会自动换行的。
你可以验证一下文件的属性:用vim编辑器打开文档,然后在命令模式下输入“set fileformat?”看一下文件是dos的还是unix类型的。结果应该是unix。
可以在linux下使用unix2dos命令将文件由unix类型转换为dos类型。
D. linux怎么换行
\就能换行 并且不影响你继续写命令
出现>可以继续输入命令
例如:apache源代码安装
./configure --prefix=/export/apache \
--enable-moles=most \
--enable-mods-shared=all \
--enable-so \
--enable-rewrite
E. Linux服务器上如何进行换行符转换
1、用VIM查看文件编码
在Vim 中可以直接查看文件编码
:set fileencoding
即可显示文件编码格式。
2、 改写~/.vimrc 文件
如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在
~/.vimrc 文件中添加以下内容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照 fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。
3、 用ICONV文件编码转换
我们利用iconv工具对文件的编码进行转换。
iconv 转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
比如将一个GBK 编码的文件转换成UTF-8编码
iconv -f GBK -t UTF-8 file1 -o file2
其中的参数的意义表示
-f From 某个编码
-t To 某个编码
-o 输出到文件
4、 通过记事本另存为来改变文件编码;
既用Windows下的记事本打开,选择另存为……,改变编码即可。
F. linux和dos下换行的不同表示
关于回车和换行的历史。
回车和换行关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。
在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。
这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。
后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。
Unix系统里,每行结尾只有“<换行>”,即“
”;Windows系统里面,每行结尾是“<回车><换行>”,即“
”;Mac系统里,每行结尾是“<回车>”,即“
”。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix下打开的话,在每行的结尾会多车一个^M字符。
Dos和windows采用回车+换行CR/LF表示下一行,即^M$
而UNIX/Linux采用换行符LF表示下一行,即$
苹果机(MAC OS系统)则采用回车符CR表示下一行,即^M
CR用符号' '表示, 十进制ASCII代码是13, 十六进制代码为0x0D;
LF使用' '符号表示, ASCII代码是10, 十六制为0x0A. 所以Windows平台上换行在文本文件中是使用 0d 0a 两个字节表示, 而UNIX和苹果平台上换行则是使用0a或0d一个字节表示.
一般操作系统上的运行库会自动决定文本文件的换行格式. 如一个程序在windows上运行就生成CR/LF换行格式的文本文件,而在Linux上运行就生成LF格式换行的文本文件. 在一个平台上使用另一种换行符的文件文件可能会带来意想不到的问题, 特别是在编辑程序代码时. 有时候代码在编辑器中显示正常, 但在编辑时却会因为换行符问题而出错. 很多文本/代码编辑器带有换行符转换功能, 使用这个功能可以将文本文件中的换行符在不同格式单互换.
在不同平台间使用FTP软件传送文件时, 在ascii文本模式传输模式下, 一些FTP客户端程序会自动对换行格式进行转换. 经过这种传输的文件字节数可能会发生变化. 如果你不想ftp修改原文件, 可以使用bin模式(二进制模式)传输文本.
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
一、windows的文件到linux下的转换方法:
1. 用sed命令替换
sed -e 's/^M//g' original.txt > target.txt (注意^M 在Linux/Unix下是这样输入的:先按CTRL+v,接着按CTRL+SHIFT+m)
2. 在vi中替换
:%s/^M//g
3.在命令行下
tr -d " "<dosfile > unixfile
4.使用dos2unix命令
# dos2unix -k hosts
5.用sed命令
也可使用unix2dos命令。
三、其他
Mac -> UNIX:tr "
" "
"<macfile > unixfile
UNIX -> Mac:tr "
" "
"<unixfile > macfile
Microsoft DOS/Windows 约定,文本的每行以回车字符(
)并后跟换行符(
)结束。为了纠正这个问题,可以使用下列命令:
DOS -> UNIX:tr -d "
"<dosfile > unixfile
UNIX -> DOS:在这种情况下,需要用awk,因为tr不能插入两个字符来替换一个字符。要使用的 awk 命令为 awk '{ print $0"
" }'<unixfile > dosfile
G. Linux 终端 如何换行 \n
echo -e 'zero\nzo\nzoo'
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
H. linux字符界面怎样才能换行
第一行结束后,输入\然后回车,
这样bash就不会执行已经输入的那一行,而是继续等待更多的输入。
例如:
~
$
ls
\
>
-h
notes
notes
~
$
I. Linux上如何进行换行符转换
(一)最近在学习shell编程,可是在《Linux程序设计》指定的网站上下载了源码,使用的时候却一直出问题。提示:”bash: ./here1:/bin/sh^M:损坏的解释器: 没有该文件或目录“。之后用vi编辑器打开文件,发觉每一行的最后有浅蓝色的字符'^M'。才知道了问题所在
其实并没什么奇怪的,出现这种错误的原因是因为Linux和Windows文本文件的行结束标志不同。在Linux中,文本文件用"
"(0a)表示回车换行,而Windows用"\r
"(0d 0a)表示回车换行。所以在Linux中使用Windows的文本文件常常会出现错误。为了避免这种错误,Linux提供了两种文本格式相互转化的命令:dos2unix和unix2dos,dos2unix把"\r
"转化成"
",unixtodos把"
"转化成"\r
"。
命令dos2unix和unix2dos的使用非常简单,格式为:dos2unix filename
如果想更多的了解这两个命令,可以查看手册:
man dos2unix
它会告诉你dos2unix的高级用法(二)Ubuntu下默认没有安装dos2unix工具,而且也没有一个叫这个名字的工具(我在solaris里用过dos2unix,不知道为啥Ubuntu没有)。但是有一个替代工具——tofrodos , 下面就说一下它的安装和使用。
当然还是apt安装啦。
(1)安装tofrodos
sudo apt-get install tofrodos
实际上它安装了两个工具:todos(相当于unix2dos),和fromdos(相当于dos2unix)
安装完即可,现在你已经可以进行文本格式的转换啦。
比如: todos Hello.txt (即unix2dos Hello.txt)
fromdos Hello.txt (即dos2unix Hello.txt)
(2)做一些优化
由于习惯了unix2dos和dos2unix的命令,可以把上面安装的两个工具链接成unix2dos 和dos2unix,或者仅仅是起个别名,并放在启动脚本里。
步骤:以下是代码片段:
ln -s /usr/bin/todos /usr/bin/unix2dos
ln -s /usr/bin/fromdos /usr/bin/dos2unix
或者在 ~/.bashrc里起个别名
添加 alias unix2dos=todos alias dos2unix=fromdos(三)另外如果要在目录中大量替换, 可以使用find + xargs比如:find ./model -name *.sh | xargs fromdos
J. 关于windows和linux下的换行
所谓的换行符的区别一般在程序里面表现比较明显,如在命令行脚本程序中的显示。
而如果是在浏览器中,则这个换行符要由浏览器来定,而并不完全由操作系统来说了算,我认为这时最需要考虑的是浏览器的特性。