【发布时间】:2016-05-13 09:38:24
【问题描述】:
我用过
sed 's/\r\n$//' inputFile
但是没有用。不知道为什么
我也试过了
awk '{ printf "%s", $0 }' inputFile
但它只删除 \n 而不是 \r
linux中如何去掉行尾CRLF(\r\n)的具体组合?
附:
鉴于我的问题的具体情况,我认为这不是 this 的重复。我希望删除行尾的 CRLF(\r\n) 。 tr 不起作用,因为tr 要删除的外观不一定在行尾,并且管理员要求不要安装dos2unix。就我而言,sed 's/\r\n$//' inputFile 不起作用,我几乎尝试了this 中的所有可能解决方案。
顺便说一句,tr,要删除的外观不一定在行尾,tr 中的\r\n 是\r 和\n 的集合。换句话说,它会删除 \r 中的 \r 在行的中间。
澄清:
我只有一行输入。我希望完全删除 \r\n。
【问题讨论】:
-
尝试 tr -d '\a\b\r' 输入文件
-
使用 dos2unix,或查看同一问题的数百个答案之一。
-
@123 我不能使用dos2unix也不能安装它,因为管理员不允许它。
-
's/\r\n$//'显然不起作用,因为 sed 是行阅读器并且看不到换行符。另外,为什么你会在一行中间有一个回车? -
为什么要删除换行符和回车符?这是没有意义的。一个文本文件将是一根长拼接线。对于意味着死亡的脚本。