小鸡,啄米 2021-12-09 15:06 采纳率: 83.3%
浏览 9
已结题

sed修改多行的配置文件

同时把这三条数据后面的 数字改成1
正常修改用 sed -i 's/原字符串/新字符串/' 文件

但是这个是后面的数字不一样,被这个数字难住了

img

  • 写回答

1条回答 默认 最新

  • 加拉萨假期 2021-12-09 15:36
    关注

    这么整齐的处理内容,不妨换个思路,用awk。
    源文件:test.txt
    注意最后要有个空行

    ENGINE = InnoDB AUTO_INCREMENT = 96
    ENGINE = InnoDB AUTO_INCREMENT = 22
    ENGINE = InnoDB AUTO_INCREMENT = 2
    
    

    脚本replace.sh:

    #!/bin/bash
    out="output.txt"
    cat test.txt |
    while read line
    do
         l=$(echo $line | awk '{NF=5}1')" 1"
         echo $l >> $out
    done
    exit 0
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 1月25日
  • 已采纳回答 1月17日
  • 创建了问题 12月9日