使用 tr 用空格替换换行符[重复]
Posted
技术标签:
【中文标题】使用 tr 用空格替换换行符[重复]【英文标题】:Using tr to replace newline with space [duplicate] 【发布时间】:2014-11-07 17:20:43 【问题描述】:有来自sed
的输出:
http://sitename.com/galleries/83450
72-profile
这两个字符串应该合并为一个并用空格分隔,例如:
http://sitename.com/galleries/83450 72-profile
两个字符串被流水线化到tr
,以便用空格替换换行符:
tr '\n' ' '
而且不工作,结果和输入一样。
用 ASCII 码 '\032'
表示空格会导致将 \n
替换为不可打印的字符。
怎么了?我在 Windows 上使用 Git Bash。
【问题讨论】:
我用相同的语法测试了一个带有换行符的文本文件到 tr 并且它可以工作。你管的怎么样?该文件是否有换行符和换行符?也许试试 "tr '\r\n' ' '" 为什么会被标记为重复?链接的问题专门询问了using sed,这不是这个问题的目的(using tr)。尽管目标相同,但提问者或查看者可能有很多原因只想使用 tr 和 tr。 【参考方案1】:最好的猜测是你在 windows 上并且你的行尾设置是为 windows 设置的。 看到这个话题:How to change line-ending settings
或使用:
tr '\r\n' ' '
【讨论】:
同意 windows 行尾。快速修复是dos2unix file
。祝大家好运。
脚本仍然有'\r'。但它看起来并不适合你想要的。它会将所有内容放在一行上,而不仅仅是一次 2 行,然后您的 FOR 循环将始终只执行一次。以上是关于使用 tr 用空格替换换行符[重复]的主要内容,如果未能解决你的问题,请参考以下文章
正则表达式 Python - 用单个空格替换换行符、制表符、空格的任意组合[重复]
如何从句子中删除多余的空格、制表符和换行符,并仅用一个空格替换它们? [复制]