账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    sed 在某行下面添加内容
    52
    0

    需求是在某行内容的下面新加内容

    CentOS

    相关代码

    sed -i 'N;/目标文本1/a\//ancymocknreturn 新加内容1' file_path

    sed -i 'N;/目标文本2/a\//ancymocknreturn 新加内容2' file_path

    期待的结果

    目标文本1
    //ancymock
    return 新加内容1

    目标文本2
    //ancymock
    return 新加内容2

    实际的结果

    目标文本1
    //ancymock
    return 新加内容1

    目标文本2
    (空了一行)
    //ancymock
    return 新加内容2

    同样的sed逻辑,给第二个目标文档后面追加的时候,出现了跳行。。。。。。有时候真的觉得rlgl

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 在sed命令中,要将一行内容添加到指定位置,可以使用seds(substitute)子句。以下是一个例子,假设我们有一个字符串"Hello, world!",我们想要在行结尾添加"!":

      bash sed -i 's/Hello, world!/Hello, world!/' input_file.txt

      在这个例子中,-i选项表示在执行sed命令之前进行操作,'s/Hello, world!/Hello, world!/'s子句的参数,它告诉sed将要匹配的模式替换为"Hello, world!"。

      s/Hello, world!/Hello, world!/'的含义是:

      • s/Hello, world!/Hello, world!/:在匹配模式Hello, world!(匹配由空格、逗号和感叹号组成的字符串)之后,将匹配到的文本替换为"Hello, world!"。
      • /:匹配换行符,使新的匹配区域开始。
      • /:匹配换行符,使新的匹配区域结束。

      所以,这个s子句会将字符串"Hello, world!"添加到行尾,使新的行结尾包含"!"。如果你的输入文件名为input_file.txt,则这段代码将修改该文件,并在行尾添加"!"。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部