Linux---Day8

作者: 茶馆先生的马褂 | 来源:发表于2020-04-13 18:55 被阅读0次

    grep: awk: sed:流编辑器 String EDitor
    逐行处理文本

    行编辑器 (全屏编辑器 vi)
    sed: 文件 逐行---模式空间 副本---屏幕;即默认不编辑源文件,仅对模式空间中的副本进行处理;而后,处理结束后将模式空间的内容进行打印。
    sed [OPTION]... {script-only-if-no-other-script} [input-file]...
    sed [options] AddressCommond file...(Address与Commond中间无空格)
    -n:静默模式(不再默认显示模式空间中的行,只与命令相关)
    -i:直接修改源文件
    -e SCRIPT -e SCRIPT 同时进行多个脚本操作
    -f /PATH/TO/SED_SCRIPT
    sed -f /path/to/sed_script file 用保存在script中的脚本处理file

    Address:

    1.Stratline Endline (1, 100); $: 最后一行;
    2./RegExp/
    /^root/ 以root起始的行

    1. /Pattern1/, /Pattern2/:
      第一次被pattern1匹配到的行开始,至第一次被pattern2匹配到的行结束,这中间的所有行。
      4.Linenumber 精确某行,特定的某行
      5.Startline, +n
      从指定的行开始,向后n行
    Commond
    1. d: 删除符合条件的行
      sed '1,2d' /etc/fstab
      sed '/oot/'d /etc/fstab
      sed '1,+2d' /etc/fstab
      sed '/^\//d' /etc/fstab (删除以斜线开始的行,‘\’转义符号)
    2. p: 显示符合条件的行
    3. a \'string': 在指定的行后新加行,内容为‘string’
      sed '/^\//a \#hello world' /etc/fstab
      sed '/^\//a \#hello world\n# hello linux' /etc/fstab 继续追加一行,\n换行符
    4. i \'string': 在指定的行前面添加新行,内容为‘string’
    5. r FILE:将指定的文件的内容添加至符合条件的行处
      sed '$r /etc/issue' /etc/fstab
    6. w FILE 将指定范围内的文件内容另存至指定文件中
      sed -n '/oot/w /tmp/oot.txt' /etc/fstab
    7. s '/pattern/string/' /etc/fstab 查找并替换(查找字符串可使用正则表达式,后面的string中不可以使用正则表达式)默认替换的是每一行中被模式匹配到的字符串
      1.g: 全局替换 s '/pattern/string/修饰符' /etc/fstab
      2.i: 查找时忽略字符大小写
      s /// s### s@@@
    8. \(n\), \1, \2
      l..e: like---liker love---lover
      sed 's#l..e#&r#g' /sed.txt &代指前面的内容,引用模式匹配到的所有字符串
      后向引用:sed 's#\(l..e\)#\1r#g' sed.txt

    只能使用后向引用:
    like ---> Like
    love ---> Love
    sed 's#l\(..e\)#L\1#g' sed.txt

    相关文章

      网友评论

        本文标题:Linux---Day8

        本文链接:https://www.haomeiwen.com/subject/ppxzmhtx.html