Linux基础命令通配符 正则 扩展正则

什么是通配符 他是shell的内置功能,通配符,用过DOS的应该很了解,也很常用。 通配符,指包含这些字符的字符串 "?","*","[","{}"。 |==管道符,或者(正则);>==输出重定向;>>==输出追加重定向; <==输入重定向;<<==输入最佳重定向;~==当前用户家目录; ` ` $( ) ==引用命令被执行后的结果;$==以。。结尾(正则) ;^==以。。开头(正则);*==匹配全部字符,通配符; ?==任意一个字符,通配符;#==注释; &==让程序或脚本切换到后台执行;&&==并且 同时成立; [ ]==表示一个范围(正则、通配符);{ }==产生一个序列(通配符); .==当前目录的硬链接;..==上级目录的硬链接;   *==匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个)ls file *; ?=匹配任任何一个字符(不在括号内时)?代表任意一个字符ls file 0; [abcd]==匹配abcd中任何一个字符,不能创建; [a-z]==表示范围a到z,表示范围的意思[ ]匹配中括号中任意一个字符 ls file 0; {..}==表示生成序列,以逗号分隔,且不能有空格; 补充 [!abcd]==或[^abcd]表示非,表示不匹配括号里面的任何一个字符; [ ] 和 { }区别=[ ]只能用来找文件,{ }用来找文件,或创造文件,生成序列; cp 文件名{,.bak}== 备份文件 ","代表文件名 什么是正则表达式 1.正则表达式就是为了处理大量的文本 |字符串而定义的规则和方法 2.通过定义的特殊符号的辅助,系统管理员就可以快速过滤,替换或输出需要的字符串,Linux正则表达式一般以行为单位处理。 简单理解为: 1.为了处理大量文本|字符串而定义的一套规则和方法。 2.以行为单位出来,一次处理一行。 grep、sed、awk都支持正则表达式 看大文件使用,处理方式(一次读取一行内容) grep:grep "xxx" yunjisuan =包含xxx的行都会显示出来除了xxx其他都属于模糊搜索 1 welcome 2 welcomexxx 3 yyywelcome 4 5 6 xxx 7 yyy 8 xxx|welcome|yyy 9 WELCOME grep -n "xxx" yunjisuan = -n==加行号 grep -ni "xxx" yunjisuan = -i == 不区分大小写 grep -niv "xxx" yunjisuan = -v ==取反 grep -nio "xxx" yunjisuan = -o ==只输出匹配的内容 grep -niw "xxx" yunjisuan = -w ==精确匹配内容 grep -l "xxx" yunjisuan = -l ==显示匹配内容的文件名 grep=支持基础正则;egrep=支持扩展正则; 只有grep、sed、awk是由正则表达式,其他都是通配符。 正则表达式: ^==以什么开头;$==以什么结尾; .==带表且只能代表任意一个字符(不匹配空行) grep ".*" yunjisuan = ".*"==表示任意字符和文本。 grep " ^[^abc]" yunjisuan 第一个^=以是什么开头,第二个^是取反。 \ ==转义符(取消原有的作用) 扩展正则表达式: +=重复前一个字符一次活一次以上。 ?=重复前面一个字符0次或1次(.是有且只有1个) |=表示或者同时过滤多个字符 正则符:^; $; .; *; .*; [ ]; [^ ]; 扩展正则:+; |; ?; ( ); { }; a(n,m); a{n,}; a{n};
上一篇:10、Linux--find、正则、文本过滤器grep


下一篇:高并发 php uniqid 不重复唯一标识符生成方案