问题:在Linux下正常换行的文字,到了Windows下后,不再换行。
在Windows下换行时,有两个字符:回车(/r)和换行(/n)。但在Linux下,只有一个换行(/n) 可使用unix2dos和dos2unix命令进行格式的转换: 参数: -k 保持输出文件和输入文件的日期时间戳不变 -o file 默认模式 . 将file转换,并输出到file -n infile outfile 新模式. 转换infile, 并输出到outfile
1. unix2dos
假设用vi新建一文本文件,输入123456 [root@centos test]# ls -l a.txt -rw-r--r-- 1 root root 7 Jan 7 21:31 a.txt [root@centos test]# hexdump -c a.txt 0000000 1 2 3 4 5 6 /n 0000007 [root@centos test]# unix2dos -n a.txt b.txt unix2dos: converting file a.txt to file b.txt in DOS format ... [root@centos test]# ls -l total 8 -rw-r--r-- 1 root root 7 Jan 7 21:31 a.txt -rw------- 1 root root 8 Jan 7 21:34 b.txt [root@centos test]# hexdump -c a.txt 0000000 1 2 3 4 5 6 /n 0000007 [root@centos test]# hexdump -c b.txt 0000000 1 2 3 4 5 6 /r /n 0000008 b.txt是转换后的DOS下的文件
2. dos2unix [root@centos test]# dos2unix -n b.txt c.txt dos2unix: converting file b.txt to file c.txt in UNIX format ... [root@centos test]# ls -l total 12 -rw-r--r-- 1 root root 7 Jan 7 21:31 a.txt -rw------- 1 root root 8 Jan 7 21:34 b.txt -rw------- 1 root root 7 Jan 7 21:38 c.txt [root@centos test]# hexdump -c b.txt 0000000 1 2 3 4 5 6 /r /n 0000008 [root@centos test]# hexdump -c c.txt 0000000 1 2 3 4 5 6 /n 0000007 c.txt是转换后unix下的文本文件
|
|