sed 用空格替换换行符

use*_*492 2 osx terminal sed fish

如何使用 sed 将换行符替换为任何其他字符?

\n\n

输入:

\n\n
 I cannot conceive that anybody will    \n require multiplications at the rate of \n 40,000 or even 4,000 per hour ...      \n\n -- F. H. Wales (1936)                  \n
Run Code Online (Sandbox Code Playgroud)\n\n

期望的输出:

\n\n
I cannot conceive that anybody will require multiplications at the rate of 40,000 or even 4,000 per hour ...  -- F. H. Wales (1936)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我试过了:

\n\n
> pbpaste | sed 's/\\n/ /g' \n
Run Code Online (Sandbox Code Playgroud)\n\n

但它输出与输入相同的东西。我知道这是一个换行符,因为我已经检查过它并且cat -ev$按预期打印。

\n\n

还有什么更好的命令可以做到这一点?

\n\n
\n\n

这显示新行之间有额外的空间。我也想删除它。所以这就像一个带有空格的句子。

\n\n
> pbpaste | cat -ev\n I cannot conceive that anybody will    $\n require multiplications at the rate of $\n 40,000 or even 4,000 per hour ...      $\n                                        $\n -- F. H. Wales (1936)                  \xe2\x8f\x8e   \n
Run Code Online (Sandbox Code Playgroud)\n

QIS*_*QIS 9

tr可能是完成这项工作的更好工具。尝试以下操作

pbpaste | tr '\n' ' '
Run Code Online (Sandbox Code Playgroud)

根据您的输入,我得到以下输出。

I cannot conceive that anybody will require multiplications at the rate of 40,000 or even 4,000 per hour ...  -- F. H. Wales (1936) 
Run Code Online (Sandbox Code Playgroud)