最好的转换方式是什么回车换行符在 Linux 上的文件中如何添加换行符?
我见过sed命令,但是还有更简单的吗?
答案1
使用此命令:
fromdos yourtextfile
另一种方式:
todos yourtextfile
这些命令位于托弗罗多斯软件包(在最新的发行版中),它还提供了两个包装器unix2dos和dos2unix模仿同名的旧 unix 工具。
答案2
使用dos2unix
。
dos2unix - DOS/MAC 到 UNIX 文本文件格式转换器
dos2unix [options] [-c convmode] [-o file ...] [-n infile outfile ...] Options: [-hkqV] [--help] [--keepdate] [--quiet] [--version]
答案3
我更喜欢perl:
perl -lne 's/\r//g; print' winfile.txt > unixfile.txt
但这非常适合我的用途,而且我很容易记住。并非所有系统都有 dos2unix 命令,但我使用的大多数系统都有 perl 解释器。
另一个是重新编码,dos2unix 和 iconv 的强大替代品;它在 Debian 存储库中的“recode”包中可用:
recode ibmpc..lat1 winfile.txt # dos2unix
recode lat1..ibmpc unixfile.txt # unix2dos
为了awk粉丝:
awk '{ sub("\r$", ""); print }' winfile.txt > unixfile.txt
...和sed:
sed 's/\r$//' winfile.txt > unixfile.txt
现在,只需比在十六进制编辑器中手动删除 CR 稍微简单一点,直接从我们在 stackoverflow.com 上的一位朋友,可与牛肉解释器(位于您附近的 Debian 存储库中),
dos2unix 在脑残!
,[[->+>+<<]>>>,[<-------------[+++++++++++++.>>>]<[>>----------[>+++++++++++++.-------------]<++++++++++>]<<<<[-]>>>[-<<<+>>>]]<[-]<[-]<]++++++++++.
非常感谢 jk 浪费了他生命中的一个小时来写这篇文章!
答案4
我这样做猛击:
cat cr_stuffed.file | tr -d \r > no_more_crs.file