正则表达式和理解
正则表达式: 正则表达式:由元字符和正常字符组合而成 文本处理工具:grep,egrep,sed,awk,vim,nginx grep:全局搜索正则表达式,搜索结果那一行显示出来 文本搜索工具:根据用户条件,用元字符和正常字符对目标文件进行逐行搜索,搜索结果显示出来 grep [options],PATTERN [FILE...] --color[=when],--colour[=when] 对搜索出来的结果进行颜色显示 auto always never -o:只显示被模式匹配到内容 -i:被匹配到内容不区分大小写 -v:显示不能被匹配到的行 -E:扩展的正则表达式 -A#: 如果需要做变量替换的话需要加“”双引号,否则变量将无法识别 如:user=”root” grep?color=auto “$user” /etc/passwd 正则表达式:(1):由元字符和正常字符组合而成模式, (2)元字符不表示字符本身意义,主要用于表达控制或通配等功能 基本正则表达式:grep 扩展正则表达式:grep ?E,egrep fgrep:fast,不支持使用正则表达式 基本正则表达式元字符: .:匹配任意单个字符 [ ] : 匹配指定范围内的任意当字符 [^]:匹配指定范围外的单个字符 注:[ ]这个是字符是固定格式 在使用所有字符或空格字符等一些字符的时候要加上 如[[:digit:]][[:space:]]这类表达方式 [0-9],[[digit]]表示所有数字 [A-Z],[[:upper:]]表示所有大写字母 [a-z],[[:lower:]]表示所有小写字母 [[:space:]] 所有空格字符 [[:alnum:]] 所有字母 [0-9a-zA-Z],[[:alnum:]]所有的数字和字母 次数匹配:在匹配字符后加一个控制符,来表达前面字符想要匹配到的次数 * :任意长度,可以是0次,一次或多次 注:*只对匹配 它前面字符有效 .* :任意长度的任意字符 工作于贪婪模式 ?:0次或1次,表示其左侧字符可以可无 +:1次或多次:其表示左侧字符至少出现1次 {m}: m次:表示其左侧字符精确出现m次: {m,n}:至少m次,至多n次(m<n) {0,n}:至少n次 {m,}:至少m次 位置锚定: ^:锚定行首 $:锚定行尾 ^$:匹配空白行: 单词锚定:由非特殊字符组成的连续的字符串 &;:锚定词首,也可用b &;:锚定词尾,也可用b &; pattern &;:匹配pattern能匹配到的整个单词 分组:() ab*c 在分组中将ab看成一个单词,在*左侧表示可有可无 “(a.b).*1” Howare you Howdou you do “(y.u).*1” 1:引用:模式中自左而右,由第一个左括号以及与之对应的右括号中模式所匹配到内容 1:引用:模式中自左而右,由第:二个左括号以及与之对应的右括号中模式所匹配到内容 注意:分组中模式,在某次匹配中被grep记忆(保存在变量1,2...),也可以被引用 匹配到正则表达式元字符自己的意义要使用转义符/ 例: 扩展的正则表达式: .:匹配任意单个字符 [ ] : 匹配指定范围内的任意当字符 [^]:匹配指定范围外的单个字符 注:[ ]这个是字符是固定格式 在使用所有字符或空格字符等一些字符的时候要加上 如[[:digit:]][[:space:]]这类表达方式 [0-9],[[:alnum:]]所有的数字和字母 扩展的正则表达式次数匹配时,大多数情况下无须使用转义符: *:任意次 ?:匹配其前的字符0或1次 +:至少一次 {m}:精确匹配到m次 {m,n}:至少m次,至多次 {m,}:至少m次 {0,n}:至多n次 位置锚定: ^:锚定行首 $:锚定行尾 ^$:匹配空白行: 单词锚定:由非特殊字符组成的连续的字符串 &;:锚定词首,也可用b &;:锚定词尾,也可用b &; pattern &;:匹配pattern能匹配到的整个单词 分组: () 或者: a|b:a或者b (或者是两侧所有内容) 命令: grep ?E pattern FILE... egrep PATTERN FILE... 文件查找工具:locate,find locate: 根据此前updatedb命令生成数据库来完成文件查找 查找方式:查找的是文件名,并非是文件查找所需要的路径 非实时查找,模糊查找:查询结果不精确 必要时,可手动执行updatebd 命令 I/O占用率奇高 find命令:通过遍历指定的目标目录,实时查找符号指定属性的文件 精确匹配:速度略慢 find [options] [查找路径] [查找条件][处理动作] 查找: -name “文件名”:文件名支持使用globbing 如:find /etc ?name “paawd” -iname “根据文件名查找” -user username:根据属主查找 -group username:根据属组查找 -uid UID:根据指定UID查找 -gid GID:根据指定的GID查找 -nouser:查找没有属主的文件 -nogroup:查找没有属组的文件 组合查找条件: 与:-a,查找条件1 ?a 查找条件2 ?a..... 所有条件必须同时满足 或:-o,查找条件1 ?o 查找条件2 ?o.... 满足其中一个条件即可 非:-not,! -not 查找条件 查找条件2 -type TYPE:根据文件类型查找 f:普通文件 d:目录文件 l:符号文件 b:设备文件 c:字符设备文件 p:命令名管道文件 s:套接字文件 -size:[+|-]#unit Unit(文件大小的单位) 带上+号就表示大于你要查找文件 带上- 号就表示小于你要查找文件 常用单位有:k,M,G 根据时间戳查找: 以“天” 为单位 -atime [+|-]# -mtime[+|-]# 最近修改过的文件 -ctime[+|-]# 最近改变的文件 以“分钟” 为单位 -amin [+|-]# -mmin -cmin 根据权限查找 -perm [+|-]mode(权限) Mode:与mode做精确匹配 +mode:任何一类用户的权限只要能包含对其指定的任何一位权限即可 -mode:每一类用户的权限都包含对其指定的所有权限 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |