【问题标题】:How to replace just one newline between > and < in unix如何在unix中仅替换>和<之间的一个换行符
【发布时间】:2016-07-17 14:44:14
【问题描述】:

假设我有一个文本:

"this\n is >\n<"

我想用 none 替换换行符,这将导致:

"this\n is ><"

如何做到这一点?

我尝试使用以下方法:

echo "this\n is >\n<" | sed -e 's/>\n<//g'

但它没有成功。任何帮助将不胜感激。

【问题讨论】:

  • 其实echo一个不带-e的字符串只是把字符串当作纯文本。因此,您使用的 sed 仅删除字符串“\n”。
  • 那些 \ns 是字面上的 2 个字符反斜杠和 n 还是代表文字换行符?
  • 这是一个换行符[如标题中所述]。我的目标是只删除 > 和 \n
  • 请有什么天才的想法............?

标签: linux unix sed newline


【解决方案1】:

使用\ 转义\

echo "this\n is >\n<" | sed -e 's/>\\n</></g'

输出:

this\n is ><

【讨论】:

  • 这不起作用。我尝试过这个。 echo 之后, \n 变成换行符,sed 无论如何都无法识别它。无论如何感谢您的回复。我的目标是只删除 > 和 \n
猜你喜欢
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 2014-11-12
  • 1970-01-01
  • 1970-01-01
  • 2018-09-14
  • 2023-04-10
相关资源
最近更新 更多