b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

grep 正则 Linux的正则表达式(综合网络整理)

电脑杂谈  发布时间:2018-02-08 11:23:48  来源:网络整理

grep 正则_sed正则表达式_grep 排除路径

grep 正则

一、什么是正则表达式

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

注意:

①正则表达式是个广义的概念,在这里讲的是针对Linux使用的正则表达式。

②正则表达式和我们常用的通配符特殊字符是有本质区别的。

③Linux正则表达式一般以行为单位处理的。

④为了使最终结果显示的更好,建议调整别名(alias grep='grep --color=auto'),让匹配的内容显示颜色。

⑤注意字符集:LC_ALL=C。

⑥本文章是以grep使用为例,可能会跟使用awk,sed有所差异。

二、学习此内容的准备工作

①调整别名

alias grep='grep --color=auto'

②调整字符集

export LC_ALL=C

③检查字符集是否更改

echo $LC_ALL

cat >>oldboy.log <<GONGLI
I am oldboy teacher!
I teach linux.

I like badminton ball ,billard ball and chinese chess!

my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org

my qq num is 49000488.

not 4900000448.
my god,i am not oldbey,but OLDBOY!
GONGLI
gd
good 
goood
Glad
oldboy1

三、基础正则字符说明(文中的所有示例请调整别名后自行看效果)

1、^word

2、word$

3、^$

表示空行。

例:

①过滤出来以m开头的行

grep "^m" oldboy.log

②过滤出来以m结尾的行

grep "m$" oldboy.log

③过滤空行

grep -v "^$" oldboy.log #排除空行

grep -n "^$" oldboy.log #-n显示行号

grep -vn "^$" oldboy.log #显示行号并取反

4、.

代表且只代表任意一个字符。

5、\

转义符号,.就只代表点本身,让有着特殊身份意义的字符脱掉马甲,还原原型。

6、

重复0个或多个前面的一个字符。

7、.

匹配所有字符。

sed正则表达式_grep 排除路径_grep 正则

延伸:

^.以任意多个字符开头,.$以任意多个字符结尾。

例:

①匹配任意一个字符

grep -n "." oldboy.log #结果无空行

grep -n ".*" oldboy.log #文件有啥显示啥

grep -ni "oldb.y" oldboy.log #匹配oldb(x)y的,-i意思是也匹配大写

②匹配以点结尾的错误方法

grep -n ".$" oldboy.log

③匹配以点结尾的正确方法(只匹配点,\转义)

grep -n ".$" oldboy.log

④只显示匹配的内容(-o)

grep -on "oldb.y" oldboy.log

补充-点的含义小结:

①当前目录

②使得文件生效相当于source

③隐藏文件

④任意一个字符


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-67035-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...