码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2017-06-04 23:04:09      阅读:321      评论:0      收藏:0      [点我收藏+]

标签:家目录   环境   行号   linux系统   代号   技术   变量   分享   exp   

 

grep命令和正则表达式

一、

正则 :

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);
2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。

正则表达式和通配符一样,也是一组特殊符号,通配符是由shell解释执行,正则表达式是由命令解释。

技术分享

二、

grep命令:分为grep、egrep和fgrep

grep:Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

grep命令一次只能搜索一个指定的模式

egrep:是grep的扩展的正则表达式(包括表达式组和可选项);

fgrep: fgrep 命令是用来查找一个或多个与给出的字符串或词组相匹配文件中的行。fgrep 查询速度比grep命令快,但是不够灵活:它只能找固定的文本,而不是规则表达式。

在此列举几个主要的符号参数

-n  :显示行号

技术分享

-o  :只显示匹配的内容

技术分享

-q  :静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容

技术分享

-l  :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl ‘root‘ /etc 

技术分享

技术分享

过滤掉/etc/ssh/sshd_config内所有注释和所有空行 

技术分享

Shell

shell介绍

Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于windows下的的cmd.exe。它接收用户命令,然后调用相应的应用程序,shell可以使命令行也就可以是图形界面,用来提供人机交互。

 

通配符

通配符可以理解为shell的特殊代号字符,通配符就是一类特殊符号的集合,在shell解释器中有特殊的含义。

通配符字符含义说明:

  ~   表示用户家目录

技术分享

``和$()  被``和()裹起来的命令先执行

技术分享

*   表示任意多个字符 和 "." 有区别

技术分享

技术分享

 

?   表示一个字符,可以多个“?”同时使用

 技术分享

 bash环境

以下四个文件在登录用户的过程中会依次执行

  /etc/profile

  ~/.bash_profile

  ~/.bashrc

  /etc/bashrc

su user不加-登录,只会加载~/.bashrc、/etc/bashrc

全局环境变量配置一般放在/etc/profile文件中,用户级环境变量一般放在~/.bash_profile

临时设置环境变量:

技术分享

环境变量中查找命令的顺序是依次往后,比如ls命令在当前设置的变量中,首先会从/usr/local/nginx/sbin下找,找不到会从/usr/local/sbin下找,依次找到为止。

技术分享

 

正则表达式

标签:家目录   环境   行号   linux系统   代号   技术   变量   分享   exp   

原文地址:http://www.cnblogs.com/Neeo/p/6935037.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!