当前位置:   article > 正文

sed -i 命令常用方法总结

sed -i

sed用法

Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]...

-i[SUFFIX]
edit files in place (makes backup if SUFFIX supplied)

1,删除指定行:

  1. sed -i 'Nd' filename 【N 为行数】
  2. 特别的,删除最后一行为:
  3. sed -i '$d' filename 【$ 代表的是最后一行】
  4. 【提示】:
  5. cat -n filename //可以从1开始输出显示行号
  6. grep -n "指定行内容" filename //显示指定行行号

2,插入到某行

  1. ①知道该行行号
  2. sed -i 'Ni 要添加内容' filename //第N行插入要添加的内容,原来该行的内容后移
  3. ②知道该行内容:
  4. 插入到某行上面
  5. sed -i '/定位字符串/i 插入字符串' filename
  6. 插入到某行下面
  7. sed -i '/定位字符串/a 插入字符串' filename
  8. 补充,文末增加一行可使用如下语句:
  9. echo "\n插入字符串" >> filename

3,替换某字符串

  1. ①知道该行行号
  2. sed -i 'Nc 替换内容' filename //替换第N行内容
  3. ②知道该行内容
  4. sed -i 's/原字符串/替换字符串/' filename
  5. sed -i 's/原字符串/替换字符串/g' filename
  6. 说明:s///: 从每一行的行首开始,匹配到第一个符合的字段,就会跳到下一行(同一行中可能有多个匹配字段)s///g:表示全局替换,匹配每一行从行首到行尾的所有字符
 

4,替换字符串中部分内容,其实是3的升华用法

  1. ①知道该行行号
  2. sed -i 'Nc 替换内容' filename //替换第N行内容
  3. ②知道该行内容
  4. sed -i 's/原字符串/替换字符串/' filename
  5. sed -i 's/原字符串/替换字符串/g' filename
  6. 说明:s///: 从每一行的行首开始,匹配到第一个符合的字段,就会跳到下一行(同一行中可能有多个匹配字段)s///g:表示全局替换,匹配每一行从行首到行尾的所有字符

5,指定行添加删除注释

  1. 添加注释
  2. 加【#】:
  3. sed -i 's/^指定行字符串/#&/g' filename
  4. 加【//】:
  5. sed -i 's/^指定行字符串/\/\/&/g' filename (//由于有特殊含义,前面加\去掉特殊含义)
  6. 举例:
  7. > on property:sys.boot_completed=1
  8. > start gps_upgrade
  9. > root:/vendor/etc/init/hw # sed -i 's/^.*start gps.*/#&/' init.tmp.rc (字符串不一定要写完整行,能唯一标识这一行即可。符合条件的字符串会全部都被添加上注释)
  10. > root:/vendor/etc/init/hw #
  11. > root:/vendor/etc/init/hw # cat init.tmp.rc
  12. > on property:sys.boot_completed=1
  13. > # start gps_upgrade
  14. 删除注释
  15. sed -i 's/^#\(指定行字符串\)/\1/g' filename

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/323136
推荐阅读
相关标签
  

闽ICP备14008679号