怎么在window下把windows生成的文本文件转换成linux形式的

已经解决了,主要是脚本文件在linux下识别不了win下的^M,直接用二进制输入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下的文本文件
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-03-27
文本在两个系统下通用的,无非两个问题:1 编码,2 换行

给你在Linux的两个命令解决:
iconv 转换编码
#iconv -f gbk -t utf8 filename

dos2unix 转换换行
#dos2unix filename本回答被提问者和网友采纳
第2个回答  2012-03-26
每个文本传输或者文本编辑软件,对这个定义都不一样。容易搞错。
最好的办法就是,在你windows的txt通过ctr+c, 然后在linux终端那里vi编辑文件,然后ctr+v
第3个回答  2012-03-26
找个工具比如UE,打开后另存,选UTF-8编码,;linux换行符
第4个回答  2012-03-26
什么意思?不是通用的吗?我在ubuntu下依旧可以打开windows的文件啊
相似回答