zoukankan      html  css  js  c++  java
  • Shell脚本sed命令修改文件的某一行

    用法

    使用Shell脚本自动化调参需要对文件进行修改

    最初想到调用python进行字符串处理,通过正则表达式匹配然后修改,比较麻烦

    偶然发现shell其实自带sed命令可以处理这个问题

    #!/bin/bash
    sed -i "26c Delay = $1" camera.lua
    

    运行上述脚本./calib.sh 250即可将camera.lua配置文件的第26行改写为Delay = 250

    特殊

    若写入字符串中存在双引号则需要通过"进行转义

    #!/bin/bash
    sed -i "2c Name = "MyCam"" camera.lua
    

    扩展

    • sed
      sed命令可以按行显示文件,例如
    sed -n '26p' camera.lua  #显示camera.lua的第26行内容
    

    添加-i参数可对文件直接进行修改(慎用)

    • $0
      shell中一些特殊变量可以获取外部传入的参数值
    $ ./calib.sh 1 2 3
    

    $0在shell脚本中用于获取传入命令的参数,其中$0./calib.sh即命令本身
    $1为第一个参数,值为1
    以此类推$2 $3

  • 相关阅读:
    token
    跨域问题???
    简单使用express
    深拷贝 浅拷贝
    node表单提交初知识!
    11.29
    11.28
    11.27
    11.26每日总结
    11.25每日总结
  • 原文地址:https://www.cnblogs.com/azureology/p/13039573.html
Copyright © 2011-2022 走看看