文本处理三剑客,正则表达式等

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文本处理三剑客,正则表达式等相关的知识,希望对你有一定的参考价值。

文本处理:

            grep:文本过滤:
            sed:流编辑器;
            awk:linux上实现gawk,文本报告生成器(格式化文本):

            正则表达式:regular expression

                    基本正则:
                    扩展正则:

            grep:

                        grep "UUID" /etc/fstab
                                    --color :配置到的行高亮显示;
                                    -i:忽略字符大小去匹配;
                                    -o:仅显示匹配到的字符本身;
                                    -v:显示不能被匹配的行;
                                    -B 2,-A 3:匹配到的行的前几行或者后几行
                                    -C 2,前后各2行;

                        基本正则表达式元字符:

                                字符匹配: .号匹配任意单个字符 grep "r..t" /etc/passwd
                                                                            []:匹配指定范围内的任意单个字符
                                                                            [^]:匹配指定范围外的任意单个字符
                                                                            [[:diglt:]] ,[[:lower:]]等等                              

                                匹配次数:用于指定其出现的次数的
                                                                        *:x*y ,则可以匹配xxxx,yyyyy,xxxxyy,都可以匹配
                                                                        .*:匹配任意长度的任意字符;
                                                                        \?:匹配其前面的字符0次或1次;即其前面的字符是可有可无
                                                                        \+:匹配其前面的字符出现1次或多次;
                                                                        \{\m}:匹配其前面的字符m次;

                                                                        后面还有很多,例如次数范围内的匹配

                            位置锚定:
                                                                    ^:行首锚定,用于模式的最左侧;
                                                                    grep "^root" /etc/passwd
                                                                    $:行尾锚定,用于模式的最右侧;
                                                                    ^&:空白行
                                                                    ^[[:space:]]$:空白行或者包含空白字符的行

                            分组及引用:

                                                                    grep "\(l..e\).*\1" /lover.txt

                                                                    引用前面的分组括号中的模式所匹配到的字符

以上是关于文本处理三剑客,正则表达式等的主要内容,如果未能解决你的问题,请参考以下文章

Linux文本处理三剑客之grep一族与正则表达式

Shell编程之正则表达式

linux文本处理三剑客之grep家族及其相应的正则表达式使用详解

正则表达式 三剑客--awk

shell那点事儿——运维工程师必会正则表达式及文本处理三剑客

Linux 文本处理三剑客之grep