【发布时间】:2019-06-28 21:55:16
【问题描述】:
我只想替换部分文本中的空格。
我的输入文字如下,
---start of text---test1 test2 test3 test4---end is here---
我想要的输出是,
---start of text---
test1
test2
test3
test4
---end is here---
我试过下面的命令,
sed 's/start of text/start~of~text/; s/end is here/end~is~here/; s/text---/text--- /; s/---end/ ---end/' test_file | tr ' ' '\n' | sed 's/~/ /g'
这可行,但为此我必须硬编码文本行的开头和结尾。有什么办法可以避免这种情况,我尝试在 awk 中使用 gsub,但没有奏效。
【问题讨论】:
-
请使用代码标签为您的样本
{}按钮将它们包装在代码标签中,因为您的样本不清楚。 -
但代码标签仅用于代码正确,不适用于示例输入? (但已编辑)
-
@ArigatoManga 代码标签也有助于示例,使其在视觉上脱颖而出并避免示例数据受到降价处理。您能否添加另一个示例输入/输出以使您的问题更清晰?
---start of text---和---end is here---对于您的所有输入都是一致的,还是有其他模式?另外,perl可以代替sed或awk吗?