• 拾遗:sed&vim


    一、sed查漏补缺

    1、sed x,+y,从第x行的开始,向下连续y行(包含x行在内是y+1行!)

    f@z ~/testdir $ cat -n x.awk 
         1    #!/usr/bin/awk -f
         2    BEGIN{
         3    FS="
    "
         4    RS=""
         5    OFS="___"
         6    ORS="*******"
         7    }
         8    
         9    {printf $1 "OFS" $2 $3 "
    "}
    f@z ~/testdir $ sed -n '2,+3p' x.awk
    BEGIN{
    FS="
    "
    RS=""
    OFS="___"

    2、sed 1~2,从第1行开始,步进为2行,此例中显示奇数行

    f@z ~/testdir $ sed -n '1~2p' x.awk
    #!/usr/bin/awk -f
    FS="
    "
    OFS="___"
    }
    {printf $1 "OFS" $2 $3 "
    "}

    3、sed -n '/root/!p',显示不包含root的行(较少使用) 

    f@z ~/testdir $ sed -n '/FS/!p' x.awk 
    #!/usr/bin/awk -f
    BEGIN{
    RS=""
    ORS="*******"
    }
    
    f@z ~/testdir $ sed -n '/FS/p' x.awk 
    FS="
    "
    OFS="___"
    {printf $1 "OFS" $2 $3 "
    "}

    4、sed -i.bak '',原地修改文件之前进行备份,类似用法:perl -p -e -i.bak

    f@z ~/testdir $ sed -i.bak 's/^$/--------------------------/' x.awk
    f@z ~/testdir $ ls x.awk*
    x.awk  x.awk.bak
    f@z ~/testdir $ perl -p -i.backup -e 's/-+//' x.awk
    f@z ~/testdir $ ls x.awk*
    x.awk  x.awk.backup

    二、vim查漏补缺

    1、r ! command,将command运行结果插入当前编辑文件

    2、r /path/to/file,将file文件读入当前文件

    3、w /path/to/file,将当前状态文件另存为file文件

    f@z ~/testdir $ ls vim*
    vim_testfile

    4、yy,复制光标所在行

    5、vim -o file1 file2,横向分屏显示多个文件;vim -O file1 file2,纵向分屏显示多个文件

    6、V、v,多行选取,模拟鼠标的区域选取功能

    大写v:

    小写v: 

    7、vim全局配置文件:/etc/vim/vimrc

      map ^P 0i#<ESC>  自定义绝对行首添加备注快捷键,其中^P指ctrl+v+p按键组合

    8、d + G,删除光标所在行至文件末尾的所有内容;d + gg,删除光标所在行至文件开头的所有内容;d + 0,删除光标处至行首的字符;d + $,删除光标处至行尾的字符

    三、其它

    rev:按列反转;tac:按行反转 

    f@z ~/testdir $ cat x.awk
    #!/usr/bin/awk f
    BEGIN{
    FS="
    "
    RS=""
    OFS="___"
    ORS="*******"
    }
    
    {printf $1 "OFS" $2 $3 "
    "}
    f@z ~/testdir $ rev x.awk
    f kwa/nib/rsu/!#
    {NIGEB
    "n"=SF
    ""=SR
    "___"=SFO
    "*******"=SRO
    }
    
    }"n" 3$ 2$ "SFO" 1$ ftnirp{
    f@z ~/testdir $ tac x.awk
    {printf $1 "OFS" $2 $3 "
    "}
    
    }
    ORS="*******"
    OFS="___"
    RS=""
    FS="
    "
    BEGIN{
    #!/usr/bin/awk f 
  • 相关阅读:
    【源码笔记】BlogEngine.Net 中的权限管理
    Asp.Net MVC 分页、检索、排序整体实现
    AngularJS 初印象------对比 Asp.net MVC
    Asp.Net MVC Filter 实现方式和作用范围控制
    上传图片压缩+水印(文字、图片)+验证码
    2014年及五年计划
    【读书笔记】Asp.Net MVC 上传图片到数据库(会的绕行)
    VS2012 生成事件
    CSS position绝对定位absolute relative
    CSS兼容性解决方法!important的IE7,Firefox问题
  • 原文地址:https://www.cnblogs.com/hadex/p/5748562.html
Copyright © 2020-2023  润新知