成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何將文本文件在Unix和DOS(Windows)格式之間轉換

系統 Linux 系統運維
作為一名 Linux 管理員,你可能已經注意到了一些開發者請求將文件從 DOS 格式轉換為 Unix 格式,反之亦然。

[[339780]]

作為一名 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 格式。
  • trawk 和 sed 命令:這些可以用于相同的目的。

使用 od八進制轉儲octal dump)命令可以很容易地識別文件是 DOS 格式還是 Unix 格式,如下圖所示:

  1. # od -bc windows.txt
  2. 0000000 125 156 151 170 040 151 163 040 141 040 146 162 145 145 040 157
  3. U n i x i s a f r e e o
  4. 0000020 160 145 156 163 157 165 162 143 145 040 157 160 145 162 141 164
  5. p e n s o u r c e o p e r a t
  6. 0000040 151 156 147 040 163 171 163 164 145 155 015 012 123 165 160 145
  7. i n g s y s t e m \r \n S u p e
  8. 0000060 162 040 143 157 155 160 165 164 145 162 163 040 141 162 145 040
  9. r c o m p u t e r s a r e
  10. 0000100 162 165 156 156 151 156 147 040 157 156 040 125 116 111 130 015
  11. r u n n i n g o n U N I X \r
  12. 0000120 012 071 065 045 040 157 146 040 167 145 142 163 151 164 145 163
  13. \n 9 5 % o f w e b s i t e s
  14. 0000140 040 141 162 145 040 162 165 156 156 151 156 147 040 157 156 040
  15. a r e r u n n i n g o n
  16. 0000160 114 151 156 165 170 040 117 123 015 012 101 156 171 164 150 151
  17. L i n u x O S \r \n A n y t h i
  18. 0000200 156 147 040 143 141 156 040 142 145 040 144 157 156 145 040 157
  19. n g c a n b e d o n e o
  20. 0000220 156 040 114 151 156 165 170 015 012
  21. n L i n u x \r \n
  22. 0000231

上面的輸出清楚地表明這是一個 DOS 格式的文件,因為它包含了轉義序列 \r\n

同時,當你在終端上打印文件輸出時,你會得到下面的輸出:

  1. # cat windows.txt
  2. Unix is a free opensource operating system
  3. Super computers are running on UNIX
  4. 95% of websites are running on Linux OS
  5. Anything can be done on Linux

如何在 Linux 上安裝 dos2unix?

dos2unix 可以很容易地從發行版的官方倉庫中安裝。

對于 RHEL/CentOS 6/7 系統,使用 yum 命令 安裝 dos2unix

  1. $ sudo yum install -y dos2unix

對于 RHEL/CentOS 8 和 Fedora 系統,使用 dnf 命令 安裝 dos2unix

  1. $ sudo yum install -y dos2unix

對于基于 Debian 的系統,使用 apt 命令 或 apt-get 命令 來安裝 dos2unix

  1. $ sudo apt-get update
  2. $ sudo apt-get install dos2unix

對于 openSUSE 系統,使用 zypper命令 安裝 dos2unix

  1. $ sudo zypper install -y dos2unix

1)如何將 DOS 文件轉換為 UNIX 格式?

以下命令將 windows.txt 文件從 DOS 轉換為 Unix 格式。

對該文件的修改是刪除文件每行的 \r

  1. # dos2unix windows.txt
  2. dos2unix: converting file windows.txt to Unix format
  1. # cat windows.txt
  2. 0000000 125 156 151 170 040 151 163 040 141 040 146 162 145 145 040 157
  3. U n i x i s a f r e e o
  4. 0000020 160 145 156 163 157 165 162 143 145 040 157 160 145 162 141 164
  5. p e n s o u r c e o p e r a t
  6. 0000040 151 156 147 040 163 171 163 164 145 155 012 123 165 160 145 162
  7. i n g s y s t e m \n S u p e r
  8. 0000060 040 143 157 155 160 165 164 145 162 163 040 141 162 145 040 162
  9. c o m p u t e r s a r e r
  10. 0000100 165 156 156 151 156 147 040 157 156 040 125 116 111 130 012 071
  11. u n n i n g o n U N I X \n 9
  12. 0000120 065 045 040 157 146 040 167 145 142 163 151 164 145 163 040 141
  13. 5 % o f w e b s i t e s a
  14. 0000140 162 145 040 162 165 156 156 151 156 147 040 157 156 040 114 151
  15. r e r u n n i n g o n L i
  16. 0000160 156 165 170 040 117 123 012 101 156 171 164 150 151 156 147 040
  17. n u x O S \n A n y t h i n g
  18. 0000200 143 141 156 040 142 145 040 144 157 156 145 040 157 156 040 114
  19. c a n b e d o n e o n L
  20. 0000220 151 156 165 170 012
  21. i n u x \n
  22. 0000225

上面的命令將覆蓋原始文件。

如果你想保留原始文件,請使用以下命令。這將把轉換后的輸出保存為一個新文件。

  1. # dos2unix -n windows.txt unix.txt
  2. dos2unix: converting file windows.txt to file unix.txt in Unix format

1a)如何使用 tr 命令將 DOS 文件轉換為 UNIX 格式。

正如文章開頭所討論的,你可以如下所示使用 tr 命令將 DOS 文件轉換為 Unix 格式。

  1. Syntax: tr -d '\r' < source_file > output_file

下面的 tr 命令將 DOS 格式的文件 windows.txt 轉換為 Unix 格式文件 unix.txt

  1. # tr -d '\r' < windows.txt >unix.txt

注意:不能使用 tr 命令將文件從 Unix 格式轉換為 Windows(DOS)。

1b)如何使用 awk 命令將 DOS 文件轉換為 UNIX 格式。

使用以下 awk 命令格式將 DOS 文件轉換為 Unix 格式。

  1. Syntax: awk '{ sub("\r$", ""); print }' source_file.txt > output_file.txt

以下 awk 命令將 DOS 文件 windows.txt 轉換為 Unix 格式文件 unix.txt

  1. # awk '{ sub("\r$", ""); print }' windows.txt > unix.txt

2)如何將 UNIX 文件轉換為 DOS 格式?

當你把一個文件從 UNIX 轉換為 DOS 格式時,它會在每一行中添加一個回車(CR 或 \r)。

  1. # unix2dos unix.txt
  2. unix2dos: converting file unix.txt to DOS format

該命令將保留原始文件。

  1. # unix2dos -n unix.txt windows.txt
  2. unix2dos: converting file unix.txt to file windows.txt in DOS format

2a)如何使用 awk 命令將 UNIX 文件轉換為 DOS 格式?

使用以下 awk 命令格式將 UNIX 文件轉換為 DOS 格式。

  1. Syntax: awk 'sub("$", "\r")' source_file.txt > output_file.txt

下面的 awk 命令將 unix.txt 文件轉換為 DOS 格式文件 windows.txt

  1. # awk 'sub("$", "\r")' unix.txt > windows.txt

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2021-10-19 07:27:08

Unix Dos轉換

2011-04-08 10:16:13

文本文件ACCESS數據庫

2010-04-30 17:38:31

Unix文本

2021-11-29 09:46:11

FileReaderJava開發

2009-08-06 18:33:45

C#處理文本文件

2009-09-02 19:13:08

C#處理文本文件

2010-01-15 10:05:35

VB.NET文件對象

2009-09-02 19:08:03

C#實現讀取文本文件

2009-08-26 11:53:56

C#打印文本文件

2009-09-04 15:56:35

寫入文本文件

2019-02-13 09:20:13

Linux命令行more

2009-07-31 14:09:41

c#時間格式轉換

2015-06-17 14:28:15

Java查詢處理方法

2014-03-11 10:11:33

Linux命令more命令文本文件

2010-02-01 14:26:50

C++讀寫文本文件

2009-08-19 17:44:15

C#操作文本文件

2023-05-17 18:45:56

Linux文件

2009-08-20 09:15:20

C#操作文本文件

2009-08-20 10:17:27

C#操作文本文件

2022-09-29 10:01:05

Go編程語言文本文件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91欧美精品成人综合在线观看 | 成人免费视频 | www.激情.com | 综合国产| 国产一级成人 | 日本电影网站 | 日本精品免费 | 欧美日韩在线一区二区 | 一区二区三区在线看 | 日韩三区在线观看 | 久久国内精品 | 国产精品99久久久久久久久久久久 | 自拍偷拍精品 | 亚洲精品片| 欧美一区二区三区大片 | 成人免费精品 | 国产精品成人国产乱一区 | 先锋资源网站 | 欧美视频在线看 | 精品乱码一区二区三四区视频 | 日韩欧美国产精品一区二区三区 | 成人h片在线观看 | 国产精品久久久久久二区 | 欧美日日 | 91精品国产综合久久国产大片 | 超级碰在线| 久久婷婷香蕉热狠狠综合 | 亚洲精品久久久久久久久久久久久 | 一区二区三区在线免费观看视频 | 精品色| 成人久久久 | 免费同性女女aaa免费网站 | 日韩欧美视频在线 | 中文字幕一区二区在线观看 | 午夜电影福利 | 亚洲一区二区 | 中文字幕精品视频 | 国产美女在线观看 | 国产精产国品一二三产区视频 | 亚洲91精品 | 欧美一区二区成人 |