linux怎么把dos改成unix_如何将文本文件在 Unix和DOS格式之间转换
导读:有很多方法可以将 DOS 文本文件转换为 Unix 格式。
本文字数:5083,阅读时长大约:5分钟
https://linux.cn/article-12558-1.html
作者:Magesh Maruthamuthu
译者:geekpi
作为一名 Linux 管理员,你可能已经注意到了一些开发者请求将文件从 DOS 格式转换为 Unix 格式,反之亦然。
这是因为这些文件是在 Windows 系统上创建的,并由于某种原因被复制到 Linux 系统上。
这本身没什么问题,但 Linux 系统上的一些应用可能不能理解这些新的换行符,所以在使用之前,你需要转换它们。
DOS 文本文件带有回车(CR或\r)和换行(LF或\n)一对字符作为它们的换行符,而 Unix 文本只有换行(LF)符。
有很多方法可以将 DOS 文本文件转换为 Unix 格式。
但我推荐使用一个名为dos2unix/unix2dos的特殊工具将文本在 DOS 和 Unix 格式之间转换。
dos2unix:将文本文件从 DOS 格式转换为 Unix 格式。
unix2dos:将文本文件从 Unix 格式转换为 DOS 格式。
tr、awk和sed 命令:这些可以用于相同的目的。
使用od(八进制转储(octal dump))命令可以很容易地识别文件是 DOS 格式还是 Unix 格式,如下图所示:
# od -bc windows.txt
0000000 125 156 151 170 040 151 163 040 141 040 146 162 145 145 040 157
U n i x i s a f r e e o
0000020 160 145 156 163 157 165 162 143 145 040 157 160 145 162 141 164
p e n s o u r c e o p e r a t
0000040 151 156 147 040 163 171 163 164 145 155 015 012 123 165 160 145
i n g s y s t e m \r \n S u p e
0000060 162 040 143 157 155 160 165 164 145 162 163 040 141 162 145 040
r c o m p u t e r s a r e
0000100 162 165 156 156 151 156 147 040 157 156 040 125 116 111 130 015
r u n n i n g o n U N I X \r
0000120 012 071 065 045 040 157 146 040 167 145 142 163 151 164 145 163
\n 9 5 % o f w e b s i t e s
0000140 040 141 162 145 040 162 165 156 156 151 156 147 040 157 156 040
a r e r u n n i n g o n
0000160 114 151 156 165 170 040 117 123 015 012 101 156 171 164 150 151
L i n u x O S \r \n A n y t h i
0000200 156 147 040 143 141 156 040 142 145 040 144 157 156 145 040 157
n g c a n b e d o n e o
0000220 156 040 114 151 156 165 170 015 012
n L i n u x \r \n
0000231
上面的输出清楚地表明这是一个 DOS 格式的文件,因为它包含了转义序列\r\n。
同时,当你在终端上打印文件输出时,你会得到下面的输出:
# cat windows.txt
Unix is a free opensource operating system
Super computers are running on UNIX
95% of websites are running on Linux OS
Anything can be done on Linux
如何在 Linux 上安装 dos2unix?
dos2unix
可以很容易地从发行版的官方仓库中安装。
对于 RHEL/CentOS 6/7 系统,使用yum 命令安装dos2unix。
$ sudo yum install -y dos2unix
对于 RHEL/CentOS 8 和 Fedora 系统,使用dnf 命令安装dos2unix。
$ sudo yum install -y dos2unix
对于基于 Debian 的系统,使用apt 命令或apt-get 命令来安装dos2unix。
$ sudo apt-get update
$ sudo apt-get install dos2unix
对于 openSUSE 系统,使用zypper命令安装dos2unix。
$ sudo zypper install -y dos2unix
1)如何将 DOS 文件转换为 UNIX 格式?
以下命令将windows.txt文件从 DOS 转换为 Unix 格式。
对该文件的修改是删除文件每行的\r。
# dos2unix windows.txt
dos2unix: converting file windows.txt to Unix format …
# cat windows.txt
0000000 125 156 151 170 040 151 163 040 141 040 146 162 145 145 040 157
U n i x i s a f r e e o
0000020 160 145 156 163 157 165 162 143 145 040 157 160 145 162 141 164
p e n s o u r c e o p e r a t
0000040 151 156 147 040 163 171 163 164 145 155 012 123 165 160 145 162
i n g s y s t e m \n S u p e r
0000060 040 143 157 155 160 165 164 145 162 163 040 141 162 145 040 162
c o m p u t e r s a r e r
0000100 165 156 156 151 156 147 040 157 156 040 125 116 111 130 012 071
u n n i n g o n U N I X \n 9
0000120 065 045 040 157 146 040 167 145 142 163 151 164 145 163 040 141
5 % o f w e b s i t e s a
0000140 162 145 040 162 165 156 156 151 156 147 040 157 156 040 114 151
r e r u n n i n g o n L i
0000160 156 165 170 040 117 123 012 101 156 171 164 150 151 156 147 040
n u x O S \n A n y t h i n g
0000200 143 141 156 040 142 145 040 144 157 156 145 040 157 156 040 114
c a n b e d o n e o n L
0000220 151 156 165 170 012
i n u x \n
0000225
上面的命令将覆盖原始文件。
如果你想保留原始文件,请使用以下命令。这将把转换后的输出保存为一个新文件。
# dos2unix -n windows.txt unix.txt
dos2unix: converting file windows.txt to file unix.txt in Unix format …
1a)如何使用 tr 命令将 DOS 文件转换为 UNIX 格式。
正如文章开头所讨论的,你可以如下所示使用tr命令将 DOS 文件转换为 Unix 格式。
Syntax: tr -d '\r'output_file
下面的tr命令将 DOS 格式的文件windows.txt转换为 Unix 格式文件unix.txt。
# tr -d '\r'unix.txt
注意:不能使用tr命令将文件从 Unix 格式转换为 Windows(DOS)。
1b)如何使用 awk 命令将 DOS 文件转换为 UNIX 格式。
使用以下awk命令格式将 DOS 文件转换为 Unix 格式。
Syntax: awk '{ sub("\r$", ""); print }' source_file.txt > output_file.txt
以下awk命令将 DOS 文件windows.txt转换为 Unix 格式文件unix.txt。
# awk '{ sub("\r$", ""); print }' windows.txt > unix.txt
2)如何将 UNIX 文件转换为 DOS 格式?
当你把一个文件从 UNIX 转换为 DOS 格式时,它会在每一行中添加一个回车(CR或\r)。
# unix2dos unix.txt
unix2dos: converting file unix.txt to DOS format …
该命令将保留原始文件。
# unix2dos -n unix.txt windows.txt
unix2dos: converting file unix.txt to file windows.txt in DOS format …
2a)如何使用 awk 命令将 UNIX 文件转换为 DOS 格式?
使用以下awk命令格式将 UNIX 文件转换为 DOS 格式。
Syntax: awk 'sub("$", "\r")' source_file.txt > output_file.txt
下面的awk命令将unix.txt文件转换为 DOS 格式文件windows.txt。
# awk 'sub("$", "\r")' unix.txt > windows.txt
via:https://www.2daygeek.com/how-to-convert-text-files-between-unix-and-dos-windows-formats/
作者:Magesh Maruthamuthu选题:lujun9972译者:geekpi校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出
linux怎么把dos改成unix_如何将文本文件在 Unix和DOS格式之间转换相关推荐
- 如何在 Unix 和 DOS 格式之间转换文本文件
本文介绍如何在 Unix 和 DOS 格式之间转换文本文件.DOS 文本文件带有回车符( \r )和换行符( \n )作为它们的换行符,而 Unix 文本文件只有( \n )换行符作为换行符. 有多种 ...
- cdr存成html格式的文件格式,CDR必备!CDR保存与各种格式之间转换!-cdr文件用什么打开...
cdr功能毋庸置疑的强悍.只要发挥得当工资与地位自然是会让你得到你想要的.但在新手操作的时候总会出现这些或者那些一些问题,下面咱们就来总结一下cdr的打开方式与各种格式之间的转换吧! 一.cdr文件打 ...
- linux怎么把dos改成unix_dos2unix命令 – 将DOS格式的文本文件转换成UNIX格式
dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter).DOS下的文本文件是以\r\n作为断行标志的 ...
- Linux 将普通用户改成root用户
举例说明:将普通用户 tom 改成为 root 用户 方法1: (尚未亲身试验) 修改 /etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉 ## Allows people in g ...
- linux将ipv6地址改成ipv4,虚拟机ip地址从ipv6改为ipv4相关问题
ERROR ITMS-90167: "No .app bundles found in the package"错误 ERROR ITMS-90167: " ...
- linux将中文语言改成英文版,将Linux中文语言修改成英文的具体操作方法及报错解决...
-bash: warning: setlocale: LC_CTYPE: cannot change locale (EN_US.UTF-8) 把linux系统从中文设置英文字符集后发生以下报错 首先 ...
- linux 更新yum源 改成阿里云源
1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2.下载新的CentOS-Base ...
- 将linux中显示中文改成英文显示
编辑/etc/sysconfig/i18n这个文件,原内容如下: LANG="zh_CN.UTF-8" SYSFONT="latarcyrheb-sun16" ...
- 7-7 字符串中的大写字母改成小写字母 (10 分)
把一个字符串中的大写字母改成小写字母,其他字符不变. 输入格式: 在 一行中输入长度小于20的字符串.在字符串中不要出现换行符,空格,制表符. 输出格式: 直接输出变化后的字符串. 输入样例: asD ...
- 7-9 把字符串中的大写字母改成小写字母 (10分)
把字符串中的大写字母改成小写字母,其他字符不变. 输入格式: 输入一个长度不超过20的包含大小写母和数字的字符串. 输出格式: 输出大写字母改成小写字母后的字符串. 输入样例: 在这里给出一组输入.例 ...
最新文章
- 风险管理、收尾管理和知识产品管理
- linux 后台任务 运行 关闭 查看
- (chap4 Http状态码) 4XX
- Scala模式匹配,case 字符串,case 匹配类型,case 匹配数组,case 匹配List,case 匹配元组,case匹配case class和case object
- 操作系统难点解析之进程和线程
- 这篇文章,专治MQ中间件各种疑难杂症
- 更改了Composer DSN密码之后View Composer服务启动失败
- 14-1 获得初始页面内容
- C++::My Effective C++
- iTOP4412 gdbserver安装
- kernel命令行参数(grub启动项参数)
- 怎么使用CAD编辑工具将图纸中的文本对齐
- 1130. 【NOIP2005PJ】循环
- 直接反投影 matlab,直接反投影法.ppt
- CSS3动画实现高亮光弧效果,循环闪动效果
- 有一台服务器可以做哪些很酷的事情·2
- 用鲁迅的四本书来形容大学四年~
- 详解设置路由导航的两种方法
- 2019年肖秀荣命题人讲真题上下两册【全】
- web前端开发基础班课程大纲