是一串有规律的字符串php
grep ‘ abc123’ filename `- c : 行数,能够用来计数,文本里出现多少次要找的字符串 `- i : 不区分大小写 `- n : 显示行号 `- v: 取反 `- r : 遍历子目录如下的文件,遍历目录用 -r `- A : 后面跟数字,过滤出符合要求的行以及下面的n行 `- B: 同上,过滤出符合要求的行以及上面的n行 `- C : 同上,同时过滤出符合要求的行以及上下各n行
把一个目录下,过滤全部*.php
文档中含有eval的行grep -r --include="*.php" 'eval' /data/
正则表达式
元字符编辑器
`*` 前一个字符匹配 0 次或 任意 屡次(星 号前一个字符不起做用) `.` 匹配除了换行符外 点号前面的任意 一个 字符 `+` 表示1次到屡次,\+也要脱义,不然用egrep ? ?号前面的字符匹配1或者0次,\?也要脱义,不然用egrep $ 匹配行首,列如 ^hello 会匹配以 hello 开头的行 | 表示匹配多个字符 'root|nologin|aaa' [ ] 匹配中括号指定的任意一个字符,只匹配一个字符 例如:[0-9]匹配任意一个数字,[a-z][0-9]匹配小写字母和一位数字构成的两位字符 [^] 匹配除了中括号的字符之外的任意一个字符 例如:[^0-9] 匹配任意一位非数字字符。 [^a-z] 表示任意一位非小写字符。 \ 转移符,用于取消将特殊符号的含义取消 \{n\} 表示其前面的字符刚好出现n次 例如:[0-9]\{4\} 匹配4位数字 [1][3-8][0-9]\{9\} 匹配手机号码 \{n,\} 表示其前面的字符出现 不小于n 次 例如:[0-9]\{2,\} 表示两位以及以上的数字 \{n,m\} 表示其前面的字符出现 至少n 次,最多出现 m 次。 例如:[a-z]\{6,8\} 匹配6到8位的小写字母 egrep = grep -E 能够免去脱义符 egrep '{}' = grep '\{\}' = grep -E '{}'
轻量级流编辑器,主要用来将数据进行选取,替换,删除,新增 `- r : 支持脱义 `- n : 通常会把全部的数据输出到屏幕上,若是加入n选项,只会输出已匹配的行,通常加入p 选项print `- e : 加多命令编辑 `- i : 修改,修改已读数据文件,直接更改文件内容,sed -i '1,5'd 1.txt 动做,加在 '字符串'后面的 `- I : 不区分大小写 `- d : 删除指定行数 sed '1,10'd 1.txt 1-10行delete `- a :追加,在当前行后添加一行或者多行 `- c : 行替换,用c 后面的字符串替换原数据 `- i : 插入,在当前行前插入一行或者多行。d : 删除,g : 全局 `- p : 打印,输出指定的行 `- s : 字串替换,用一个字符串替换另外一个字符串 '行范围s/旧字符串/新字符串/g' g : 表示全局,不加就表示一行
awk 工具 分段匹配 `- F 指定分割符 $1 表示 第一段, $0 表示全部 awk '{print $0}' 1.txt awk '{print $1,$3,$7}' 1.txt 默认分隔符为空格,或者空白字符 `~` 匹配 后面的字符 也支持正则 支持多个表达式一块儿写 awk -F ':' '/root|user '{print $0}' 1.txt 数学运算 $3 > 100 大于100 $3 == 100 等于100 $3 < 100 小于100 $3 >= 100 大于等于100 $3 != 100 不等于 $3 > "5" && $3 < "7" 大于5小于7 &&与,||或 {OFS="#"} 内置变量,指定print打印用到的分割符# {NR} 行 'NR<=10' 前10行 {NF} 段 'NF==6' 第6段 {BEGIN} {END}