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

如何将文本文件中+号所在行与下一行内容合并?

解决行合并问题

正确的awk命令

你之前的awk命令有两个问题:一是+属于正则元字符,需要用\+转义才能匹配;二是逻辑错误,你当前是分别打印两行,而非合并输出。正确写法如下:

{
    if ($0 ~ /\+$/) {
        sub(/[[:space:]]*\+$/, "")  # 移除行尾的空格和+号
        getline next_line           # 读取下一行内容
        print $0, next_line         # 合并两行输出
    } else {
        print $0                    # 无+号的行直接输出
    }
}

执行时直接运行:awk -f script.awk A1.txt 或者单行命令:

/\+$/ { sub(/[[:space:]]*\+$/, ""); getline; print $0, $0; next } 1 A1.txt

替代方案:sed命令

如果习惯用sed,也可以实现相同效果:

/\+$/ {
    s/[[:space:]]*\+$//
    N
    s/\n[[:space:]]*/ /
}

执行命令:sed -f script.sed A1.txt

关于谷歌网盘分享的规则

Stack Exchange系列论坛(含Stack Overflow)允许分享公开的文件链接,只要内容符合社区规范(非恶意文件、不侵权、与问题强相关)就不会违规。不过更推荐直接在问题里用<pre><code>标签粘贴示例文本,这样其他用户无需跳转就能查看内容,排查问题更高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 14:52:59