• sed命令


    sed stream EDite

    作为行编辑器,对文本文件进行编辑(以行为单位进行编辑)

    注意:sed编辑文件 ,却不改变原文件;

    sed的工作原理:

    指定一个文本文件,一次读取文本文件中每行内容,读取到模式空间中(PATTERN SPACE),在模式空间中进行文本匹配(正则表达式),对匹配后的内容进行修改(替换,删除,打印,修改,保存等等)

    用法:

    sed [option] ....{script-only-if-no-other-script}  [input-file] ...

    sed [参数] "sed自己独立的用法格式的语句" [文本文件]

    常见选项

    -n 拒绝默认显示

    -r 指定使用扩展的正则表达式

    1、所有的 都不要了 2、| 或者

    -e  script for while if

    -f  指定脚本文件

    -l  指定文本换行的长度

    -i  直接修改文件内容(建议不要使用)

    地址定界方式

    1、数字指定步长

    sed -n '1~3s'文件

    2、直接匹配数值

    3、$指定行尾

    sed -n '10,$p'文件

    4、/正则/

    sed -n  '/k{5,}/,$p'abc

    5、0,addr

    addr 可以为数字/$/正则表达式

    sed -n'0,/k{5,}/p' abc

    6、addr,+N

    配置addr行到,addr后N行

    sed -n '/fd/,+5p' abc

    *常见命令

    p print 打印(默认在屏幕上显示出来)建议和-n一起使用

    c 替换行

    d 删除

    sed “1,3d” abc

     

    n N 读取/添加  模式匹配到的行的下一行内容,在对其进行操作

    w 保存文件内容到一个新的文件

    *s*文本内容替换

    语法格式:s/pattern/字符串/

          中间的/可以替换为任意一个特殊字符  例如: $#### $@@@   $%%%%% 

    g 全部

    12   和正则表达式的分组相同,实现反向应用;

    指定某一个匹配项进行修改替换

    &调用前面匹配的内容

    sed “s/r...t/&er/g”  文件

    给定一个目录,取出其目录名:

    --- dirname ----取出文件路径的路径部分

    ---  base ----  取出文件路径的文件名部分

    sed高级空间

     模式空间 --- hold space"占有空间"

     

  • 相关阅读:
    全栈项目搭建 ------- express
    全栈项目搭建 ------- mysql
    全栈项目搭建 ------- pm2
    基于mysql+node+vue-ssr+webpack全栈项目搭建
    前端技能2020
    项目线上地址汇总2020
    实现一个脚手架
    下载漏洞
    java学习笔记(13-接口、final、多态)
    java学习笔记(12-继承、抽象类)
  • 原文地址:https://www.cnblogs.com/yjkyjk/p/11365266.html
Copyright © 2020-2023  润新知