【发布时间】:2021-10-20 17:19:21
【问题描述】:
我在 ubuntu 的 bash 中有以下文本要编辑:
Fo, 68
Fo, 55**Fm**, 328
Fv, 273
Fv/Fm, 0.832
PAR,
TEMP,
Fs, 65
Fm', 91
èPS2, 0.286,
正文继续,但以上是基本统一。
我想在第一个 Fm 之前插入一个跳线(在第二行,并不意味着它只在第二行),所以我尝试了:
sed -e 's/Fm/\nFm/g'
但是这个命令也在Fv/Fm的小节/之后插入了一个换行符。我想避免这种情况,因为我有兴趣保存 Fv/Fm。换句话说,我需要以这种形式保存 Fv/Fm。
谢谢!
【问题讨论】:
-
在您的示例输出中有字符串
Fm的 3 个副本(我假设完整文件中有更多)...您如何确定要处理哪些Fm实例?您是否只想处理Fm的第一次 次出现?您是否希望使用模式Fo,##Fm,###处理所有出现的事件?别的东西?另外,您提到要在Fm添加\n之后,但您的sed替换模式(\nFm)说要添加\n之前Fm...你能更新一下这个问题吗? -
请用输入和所需输出编辑您的问题。输入实际上是双倍行距吗?你所说的“跳线”是什么意思?
-
使用更具体的正则表达式,只匹配您要替换的情况。
-
@dawg 所需的输出是 markp-fuso 回答的。谢谢他,也谢谢你的推荐。跳线是指跳线,或\n。你们英国人指的是什么?