Bash Shell将DOS文件转换为Linux格式,你需要将 DOS 格式的文本文件转换为 Linux 格式。在 DOS 中,每行文本由一对字符作结:回车符和换行符。在 Linux 中,每行文本仅由单个换行符作结。该如何删除多出的那个 DOS 字符呢?
解决方案
可以用 tr 命令的 -d 选项删除指定字符。例如,要想删除所有的回车符(\r
),可以使用下列命令。
tr -d '\r' <file.dos >file.txt
这会删除文件中的所有 \r
字符,而不仅仅是行尾的。典型的文本文件中极少会在行内出现该字符,不过也并非不可能。如果对此有所顾忌,可以考虑 dos2unix 和 unix2dos 程序。
讨论
tr 能够识别包括 \r
(回车符)和 \n
(换行符)在内的一些特殊转义序列。下表列出了各种转义序列。
tr能够识别的转义序列
酷客网相关文章:
评论前必须登录!
注册