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

如何使用正则表达式合并文件中以反斜杠结尾的多行内容?

合并以反斜杠结尾的行为单行的解决方案

以下是几种实用的命令行工具实现方法,完全匹配你的需求:

1. 使用 sed 循环处理

sed 可通过标签循环匹配并合并目标行:

sed -e ':loop' -e '/\\$/N; s/\\\n/ /; t loop' 你的文件名.txt
  • 逻辑说明::loop 定义循环标签;/\\$/N 匹配以反斜杠结尾的行,并将下一行读入当前处理空间;s/\\\n/ / 把反斜杠+换行符替换为空格;t loop 若替换成功则跳转回标签继续处理,直到无符合条件的行。

2. 使用 awk 累积行内容

awk 通过缓冲区变量逐步合并需要连接的行:

awk '{
    if (sub(/\\$/, "")) {
        buf = buf $0 " "
    } else {
        print buf $0
        buf = ""
    }
} END {
    if (buf != "") print buf
}' 你的文件名.txt
  • 逻辑说明:sub(/\\$/, "") 检测行尾反斜杠,存在则移除并将当前行内容加入缓冲区;若行尾无反斜杠,输出缓冲区+当前行并清空缓冲区;END 块处理最后可能剩余的未输出缓冲区内容。

3. 使用 Perl 多行模式(贴合你的匹配需求)

利用 Perl 一次性读取整个文件,通过正则批量替换:

perl -0777 -pe 's/\\\n\s*/ /g; s/\s+/ /g' 你的文件名.txt
  • 逻辑说明:-0777 将整个文件作为单行读取;s/\\\n\s*/ /g 把所有反斜杠+换行+后续任意空格替换为单个空格;s/\s+/ /g 压缩所有连续空格为单个,保证输出格式整洁。

以上三种方法均可将你提供的示例输入转换为期望的单行输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 10:02:21