本文目录一览:
如何将windows文本文件转为linux文本文件
Windows系统中编辑保存的文本文件,它的回车是实际上是CR和LF两个符号,而Linux系统中编辑的文本文件回车只表示为LF符号,所以Windows系统的文本文件复制到Linux,打开后回车的位置会多出来一个^M的符号,对于一些可执行的文本文件比如脚本文件就会有问题,所以有时就需要进行转换。
将Windows中的文本文件转换为适合Linux的格式,可以用dos2UNIX命令(有的Linux发行版没有这个命令,需要另外安装,我的系统当时是用:yum install dos2unix命令安装的),dos2UNIX命令的用法是:
dos2UNIX -k -n 原来的文件名 转换后的新文件名
参数说明:
-k参数:表示保留文件原来的mtime时间格式,一般会用这个参数
-n参数:保留旧文件并输出到一个新文件
怎么在window下把windows生成的文本文件转换成linux形式的
在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下的文本文件
windows的文本文件如何转换成linux的文本文件?
使用linux系统中自带的流文本编辑器sed/DOS/Windows和Linux/Unix的文件换行回车格式不同, 基于 DOS/Windows 的文本文件在每一行末尾有一个CR(回车)和LF(换行),而 UNIX 文本只有一个换行。-windowstxt转linux
把Dos/Windows下的文件移至Linux/Unix系统,虽然很多程序不在乎 DOS/Windows 格式的 CR/LF 文本文件,但是有几个程序却在乎 -- 最著名的是 bash,只要一遇到回车,它就会出问题。以下 sed 调用将把 DOS/Windows 格式的文本转换成可信赖的 UNIX 格式。-windowstxt转linux
把Linux/UNIX 文本移至 Windows 系统,使用以下脚本执行必需的格式转换:在该脚本中,规则表达式将与行的末尾匹配,'\r' 使 sed 在其之前插入一个回车。在换行之前插入回车。