You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu Bash下如何在Fm前插入换行且不修改Fv/Fm原有格式

解决方法

这里提供两种实现方案,均可以避开Fv/Fm场景,只在其他位置的Fm前插入换行:

方案1:GNU Sed 正则扩展方案(Ubuntu默认环境直接可用)

利用GNU sed支持的Perl兼容正则零宽断言实现,写法更简洁:

sed -P -i 's/(?<!\/)Fm/\nFm/g' 你的目标文件名
  • 参数说明:
    • -P:启用Perl正则语法支持,允许使用零宽断言
    • (?<!\/):负向后行断言,仅匹配前面不是/的Fm,自动过滤Fv/Fm场景
    • -i:直接修改原文件,测试时可先移除该参数查看输出是否符合预期

方案2:兼容POSIX标准的通用写法

无需依赖正则扩展,适配所有sed环境:

sed -i -e 's/^Fm/\n&/' -e 's/\([^/]\)Fm/\1\n&/g' 你的目标文件名
  • 规则说明:
    • 第一条规则匹配行首位置的Fm,前面插入换行
    • 第二条规则匹配前面不是/的非行首Fm,插入换行
    • &代表匹配到的Fm字符串,避免重复书写

执行效果

对你提供的样例文本执行命令后,输出如下,完全符合需求:

Fo, 68

Fo, 55**
Fm**,   328

Fv, 273

Fv/Fm,  0.832

PAR,
    
TEMP,

Fs, 65

Fm',    91

èPS2,   0.286,

内容的提问来源于stack exchange,提问作者Mauro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 12:15:03