Linux的特殊字符和正则表达式学习方法
树图思维导图提供 Linux特殊字符及正则表达式 在线思维导图免费制作,点击“编辑”按钮,可对 Linux特殊字符及正则表达式 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:139ffc86ba23bd0d407f3f7025156e8e
Linux特殊字符及正则表达式思维导图模板大纲
【|】管道 例子:ifconfig|sed -n '2p',【|】即使把ifconfig的输出当成是后面的输入,sed -n取消默认输出,2为第二行,p为打印出来
【..】或【../】上一级目录
【.】或【./】当前目录
【/】根,所有目录的顶点,也是路径分隔符
【;】两个命令的分隔符
【{}】生成一个序列。
echo {1..10},相当于seq -s " ”10
mkdir /data/{3306,3307}/data -p ;tree /data
【!】
!+字母,调出最近一次以此字母开头的命令
!! 表示最近一次使用的命令
!+数字 ;先【history】查看历史记录,再【!+数字】执行命令
取反(find,shell编程),例子:find /oldboy -type f -name "test.sh";find /oldboy -type f ! -name "test.sh" 即除了 test.sh的所有目录
【~】用户的家目录
【\】转义字符
【&&】并且,and
【-】上一次所在目录 cd -
定义
为处理大量的字符串而定义的一套规则和方法
注意事项
linux正则表达式一般以行为单位处理
echo "alias grep='grep --color=auto'" >> /etc/profile 显示颜色
注意字符集,export LC_ALL=C
基础正则表达式
【^】 以..开头,^d,意思是以d开头
【$】以..结尾,/$,意思是以/结尾
【^$】空行
【\】让原来有意义的字符脱掉马甲,还原他本身的含义。例子:【.】代表任意单个字符有特殊意义,【\.】代表含.的字符,表示点本身
【.】代表任意单个字符 (有且只有一个)
扩展的正则表达式:egrep或者grep -E【?】表示重复0个或1个前面的字符
【.*】代表所有字符。
【^.*】以任意多个字符开头
【.*$】以任意多个字符结尾
【*】重复0个或者多个前面的一个字符,例如o*匹配,有一个o或者ooooooo有多个o
扩展的正则表达式:egrep或者grep -E【+】表示重复一个或一个以上前面的字符
【[abc]】匹配字符集合内的任意一个字符(不是字符串哦~)s[a-zA-Z],[0-9],只要有a或者b或者c就过滤出来,
【[^abc]】匹配不包含^后的任意一个字符的内容,其中^是取反的意思
【a\{n,m\}】重复a ,n-m次,也可以\去掉,加上-E参数。 例子:grep -E 0{3,4} oldboy.txt.egrep等价于grep -E
【a\{n,\}】重复a ,至少n次
【a\{n\}】重复a ,n次
【a\{,m\}】重复a ,至多m次
扩展的正则表达式--egrep 、grep -E
【|】同时过滤多个字符串
【()】分组过滤,向后引用
【?】表示重复0个或1个前面的字符
【+】表示重复一个或一个以上前面的字符
元字符
【\b】单词边界 。例子\boldboy\b,只匹配oldboy这个单词,不匹配3oldboy1等其他
正则表达式实战
取请求ip
方法1:ifconfig eth0 |sed -n '2p'|sed 's#^.*dr:##g'|sed 's#B.*$##g'
方法2:ifconfig eth0|sed -nr 's#^.*addr:(.*)B.*$#\1#gp'
树图思维导图提供 广播电视奖项及评奖标准 在线思维导图免费制作,点击“编辑”按钮,可对 广播电视奖项及评奖标准 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:a4210651fa3a78355ac9f5101bb2c616
树图思维导图提供 第六章 群体传播与组织传播_副本 在线思维导图免费制作,点击“编辑”按钮,可对 第六章 群体传播与组织传播_副本 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:1672f555831e7d9a3bb2cf2fb792cb49