zoukankan      html  css  js  c++  java
  • 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"占有空间"

     

  • 相关阅读:
    Leetcode Plus One
    Leetcode Swap Nodes in Pairs
    Leetcode Remove Nth Node From End of List
    leetcode Remove Duplicates from Sorted Array
    leetcode Remove Element
    leetcode Container With Most Water
    leetcode String to Integer (atoi)
    leetcode Palindrome Number
    leetcode Roman to Integer
    leetcode ZigZag Conversion
  • 原文地址:https://www.cnblogs.com/yjkyjk/p/11365266.html
Copyright © 2011-2022 走看看