zoukankan      html  css  js  c++  java
  • shell脚本基础和grep文本处理工具企业应用4

    文本处理工具:
        egrep:
            支持扩展的正则表达式实现类似于grep文本过滤功能:grep -E
            egrep [OPTIONS] PATTERN [FILE...]
            egrep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
                选项:
                    -i,-o,-v,-q,-A,-B,-C
                    -G:支持基本正则表达式

                扩展正则表达式的元字符:
                    字符匹配
                        .:任意单个字符
                        []:指定范围内的任意单个字符
                        [^]:指定范围外的任意单个字符
                    次数匹配
                        *:任意次,0,1或多次
                        ?: 0次或1次,即其前的字符是可有可无的
                        +:其前的字符至少1次
                        {m}:其前的字符m次
                        {m,n}:至少m次,至多n次
                            {0,n}:至多n次
                            {m,}:至少m次
                    位置锚定
                        ^:行首锚定
                        $:行尾锚定
                        <,:词首锚定
                        >,:词尾锚定
                    分组及引用
                        ():分组,括号内的模式匹配到的字符也会被记录于正则表达式引擎的内部变量中
                        后向引用:1,2,3,...
                    或
                        a|b:a或者b
                            C|cat:C或者cat
                            (C|c)at:Cat或者cat

        fgrep:不支持正则表达式元字符
            当无需要用到元字符去编写模式时,使用fgrep必能更好,性能强

    文本查看及处理工具:wc,cut,sort,uniq,diff,patch
        
        wc:word count
            wc [OPTION]... [FILE]...
                -l:lines
                -w:words
                -c:bytes

        cut:remove sections from each line of files
            cut OPTION... [FILE]...
                -d CHAR:以指定的字符为分隔符;后边可以直接跟选项参数,而不要空格
                -f FIELDS:挑选出的字段
                    #:指定的单个字段
                    #-#:指定连续的多个字段
                    #,#:指定离散的多个字段

        sort:sort lines of text files
            sort [OPTION]... [FILE]...
                -n:基于数值大小而非字符进行排序
                -t CHAR:指定分隔符
                -k #:用于排序比较的字段
                -r:逆序排序
                -f:忽略大小写
                -u:重复的行只保留一份
                    重复行指连续且相同的数据

        uniq:report or omit repeated lines 报告或移除重复的行
            uniq [OPTION]... [INPUT [OUTPUT]]
                -c:显示每行的重复次数
                -u:仅显示未曾重复过的行
                -d:仅显示重复过的行

        diff:compare files line by line 逐行比较文件的不同
            diff [OPTION]... FILES

                生成打补丁的文件,为下边的patch命令打补丁用
                diff /PATH/TO/OLDFILE /PATH/TO/NEWFILE > /PATH/TO/PATCH_FILE
                    -u:使用unfled机制,即显示要修改的行的上下文,默认为3行

        patch:向文件打补丁
            patch [-blNR][ -c| -e| -n][-d dir][-D define][-i patchfile] [-o outfile][-p num][-r rejectfile][file]

            patch [OPTIONS] -i /PATH/TO/PATCH_FILE /PATH/TO/OLDFILE

            patch /PATH/TO/OLDFILE < /PATH/TO/PATCH_FILE


  • 相关阅读:
    PHP cURL 函数
    PHP 5 Calendar 函数
    PHP 5 Array 函数
    PHP 实例 AJAX 投票
    PHP 实例 AJAX RSS 阅读器
    PHP 实例
    PHP 实例 AJAX 与 XML
    PHP 实例 AJAX 与 MySQL
    22_传智播客iOS视频教程_类的定义
    21_传智播客iOS视频教程_类的设计和名词提炼法
  • 原文地址:https://www.cnblogs.com/jianchen013/p/11753997.html
Copyright © 2011-2022 走看看