Linux三剑客个人整理笔记(待补全)

sed正则表达元字符
        ^        #行首定位符                    /^d/                #匹配以d开头的行
        $        #行尾定位符                    /$d/                #匹配以d结尾的行
        .        #匹配除换行符
                   以外任一个字符            /l..e/                    #匹配包含l紧跟两个字符后接e的行
        *        #匹配零个或多个
                   前导字符                    /*love/                #匹配前面有零个或多个空格紧跟着love的行
        []        #匹配指定字符组
                   内任一字符                    /[li]ove/            #匹配love或iove的行
        [^]    #匹配不在指定字
                   符组的任一字符            /[^a-z]ove/        #匹配ove前面字符不在a-z之间的行
        \(..\)     #保存已匹配的字
                    符当标签\1 \2等        /\(mar\)/           #保存mar字符作为标签,可用 \1 调用
        &        #保存查找串以便
                   在替换串中使用            \s/love/**&**/\    #&保存为查找串love,字符串love被替换为**love**
        \<        #词首定位符                    /\         \>        #词尾定位符                    /love\>/             #匹配以love结尾行
        x\{m\}    #连续m个x                /a\{5\}/                 #连续5个a
        x\{m,\}    #至少m个x                /a\{5,\}/                 #至少5个a
        x\{m,n\} #至少m个不
                        超过n个x                /a\{5,8\}/             #至少5个a不超过8个a
                        
                        
        \t        #                            a\tb                #表示一个制表符(tab),  a        b
        
三剑客只之一 awk 命令 (awk是一种语言?!)
                awk 'BEGIN{  }  {   } ' [filename]                   #带有BEGIN模块的awk语句  
内置变量
        $0                    #当前记录
        $1~$n                #当前记录的第n字段
        NR                    #当前读出记录数,即行数从1开始    
        NF                    #当前字段数,即列数
        FS                        #输入字段分隔符 可用-F,默认空格    FS='[" ":]+'  #以一个或多个空格和:分隔
        RS                    #输入记录分隔符,默认换行符
        OFS                    #输出字段分隔符,默认空格
        OFR                    #输出记录分隔符,默认换行符

                
三剑客之二 sed 命令
        sed  [option]    'command'   [filename]        #sed命令格式
选项                                                                                                                                                             
        -n                    #安静模式?取消默认输出。-n才会把p的特殊行打印                                    
        -i                    #直接修改文档内容,不在屏幕上输出                                            
        -r                    #使用正则表达式                                                                        
        -f                    #指定一个sed脚本文件到命令行执行
        -e                    #多重编辑
操作命令
        s                    #替换一个字符串
        p                    #打印行
        d                    #删除行
        c                    #修改(修改本行)
        a                    #追加(行后的行)
        i                    #插入(行前的行)
        q                    #退出sed
替换标志
        g                    #全局替换一般与s连用
        p                    #打印行
        
三剑客之三 grep命令
        grep  [option]   mode    [filename]
举例: grep TOM  /etc/passwd            #在/etc/passwd寻找模式TOM    

选项
        -E                    #匹配模式为正则表达式,grep -E=egrep
        -i                    #比较式忽略字母大小写
        -w                #把表达式当做词组查找相当于正则/<../>
        -x                    #被匹配到的内容正好是整行相当于正则‘^…..$’
        -v                    #与匹配到的内容取反
        -c                    #统计匹配结果的行数
        -m                #只匹配规定行数,其他行数不匹配
        -n                    #显示结果中输出行数,该行在原文件的行数!
        -o                    #只显示匹配内容
        -A    [num]                    #after输出满足条件行及其后num行
        -B    [num]                    #before输出满足条件行及其前num行
        -C    [num]                    #context输出满足条件行及其前后各num行
        -R                    #递归匹配

egrep新增加的正则元字符                                        
        +            #匹配一个或多个+号前的字符                ‘[a-z]+ove'                #匹配ove前是a-z任一字符的行
        ?            #匹配一个或零个前导字符                           'lo?ve'                        #匹配l后一个或零个o行   love lve
        a|b        #匹配a或者b                                           'love|hate'                    #匹配love或者hate行
        ( )            #匹配字符节                                                'love(able|ly)(ov)'        #匹配love后为ableov或者lyov的行    

你可能感兴趣的:(Linux)