1. 程式人生 > >文本處理三劍客,正則表達式等

文本處理三劍客,正則表達式等

正則

文本處理:

            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

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

文本處理三劍客,正則表達式等