grep 命令中表达式的应用。正则表达式在我们编程语言和linux系统中得到了很广泛的应用,利用表达式可以更快更方便的去查找信息。
表达式1:^标记,^标记用于查找以该标记后面的文本为开始的行。例如:grep ^this * 就是说查找改目录下所有文件中以this为开头的行。
jack@Ubuntu:~/demo$ cat message.1
this is a test
this is a demo
i love you
ihateyou
jack@Ubuntu:~/demo$ cat message.2
have a good day
this girl is my gf
that is not my love
jack@Ubuntu:~/demo$ grep "^this" *
message.1:this is a test
message.1:this is a demo
message.2:this girl is my gf
加上 -c 参数就是统计包含该文本的数量了
jack@Ubuntu:~/demo$ grep -c "^this" *
dirH:0
Hi.class:0
Hi.java:0
luch.txt:0
message.1:2
message.2:1
表达式2:$标记.该标记与^标记正好相反。旨在查找以该标记结尾的行。例如:grep "you$" message.1 是说查找message.1文件中以“you”结尾的行。
jack@Ubuntu:~/demo$ grep "you$" message.1
i love you
ihateyou
表达式3:整合^$标记.单纯把^$放在一起是查找空行。
jack@Ubuntu:~/demo$ cat message.3
this is for test empty line
one empty line above
two empty lines above.
jack@Ubuntu:~/demo$ grep "^$" message.3
jack@Ubuntu:~/demo$ grep -c "^$" messag*
message.1:0
message.2:0
message.3:3
表达式4:单点.标记。单点标记用来匹配含有其中任意字符的行。例如:grep “i.love” * 就是匹配含有i和love的行,但是不匹配ilove。
jack@Ubuntu:~/demo$ cat message.1
this is a test
this is a demo
i love you
iloveyou
ihateyou
jack@Ubuntu:~/demo$ grep "i.love" message*
message.1:i love you
如果你是想匹配某个单词的话,加-w 参数。例如:
jack@Ubuntu:~/demo$ grep -w "you" message*
message.1:i love you
表达式5:*标记,该标记用于匹配零个或多个前面的关键字的行。
jack@Ubuntu:~/demo$ cat message.4
gle
google
gogle
jack@Ubuntu:~/demo$ grep "go*gle" message.4
google
gogle
jack@Ubuntu:~/demo$ grep "*gle" message.4
jack@Ubuntu:~/demo$ grep "g*gle" message.4
gle
google
gogle
这里情况有点特殊,对于0个的情况没有能查询欻里。但是用g*gle却能查询出来不是很了解具体的情况。我的系统是
Linux version 3.5.0-52-generic (buildd@klock) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #78~precise1-Ubuntu SMP Wed Jun 11 17:14:53 UTC 2014
请高人指点
--EOF--
分享到:
相关推荐
Regular Expression in Grep 使用正则表达式来精确控制搜索模式。 ```bash grep -E "pat\|ern" filename ``` #### Hack 9. Find Command `find`用于在文件系统中查找文件。 ```bash find /path -name "*.txt" ``` ...
Regular Expression in Grep** `grep`支持正则表达式,可以进行更复杂的搜索。例如,`grep -E 'abc|xyz' file`可以在文件`file`中搜索包含`abc`或`xyz`的行。 **Hack 9. Find Command** `find`命令非常强大,...
### 正则表达式grep[global search regular expression] #### 一、grep简介 `grep`是一种功能强大的文本搜索工具,可以使用正则表达式在文本中查找特定模式,并将匹配的行输出到标准输出。这一工具最初设计用于...
grep是Linux系统中一个强大的文本搜索工具,它能根据用户提供的模式匹配文本文件中的行,大大提升了在大量数据中查找特定信息的效率。在Linux环境中,grep是日常操作中的得力助手,尤其对于系统管理员和程序员来说更...
grep是“Global Regular Expression Print”的缩写,它的核心功能是在文本流或文件中查找匹配特定模式的行。grep支持正则表达式,这是一种强大的文本模式匹配语言,可用于创建复杂和灵活的搜索条件。 **grep的基本...
标题中的“grep.rar”指的是一个压缩文件,其中包含了一个名为“grep.exe”的可执行文件。在Windows操作系统中,通常我们使用的命令行工具是cmd或PowerShell,而“grep”是Unix/Linux环境中常用的文本搜索工具,它能...
windows可用的grep工具,把文件目录添加搭配path环境变量即可,使用方法如下: grep -S "searchtext" *.txt grep -S "searchtext" \personal\files\*.txt grep -S searchtext C:\*.* -S是搜索子目录,没有就是搜索...
离线安装包,亲测可用
1. `grep.exe`:`grep`(Global Regular Expression Print)是一个强大的文本搜索工具,用于在文件或输出中查找符合特定模式的行。它支持正则表达式,使用户能灵活地定位所需的信息。在Windows中,`grep.exe`可能...
事实上,不可或缺的搜索工具`grep`的中间两个字母就代表了这项技术——“Global Regular Expression Print”。正则表达式的主流开发者社区的应用推动了其发展。 #### 传统数据库模式匹配 在传统数据库中,模式匹配...
Regular expression 具有可以表达出难以描述、複杂、但是却有特殊规则的字串的功能,所以许多的 UNIX 工具程式都有支援 Regular expression 的功能。例如 ex 、 vi 、 sed 、 awk 、 grep 、 emacs 等等都有支援。...
- 例如:ps -ef | grep in.telnetd,搜索包含 in.telnetd 的所有进程。 8. 正则表达式的构造: - 使用 ^ 和 $ 精确指定行的开始或结束。 - 利用 [] 匹配方括号内的任意单个字符。 - 使用 [^] 匹配不在方括号内...
大数据基础-Linux基础详解课程
grep-2.20-3.el7.x86_64.rpm
`grep`的名字来源于"Global Regular Expression Print",意味着全局正则表达式打印。现在我们来深入探讨一下`grep`程序的源代码及其背后的原理。 `grep`的核心功能基于正则表达式匹配。正则表达式是一种强大的文本...
Grep,全称为Global Search Regular Expression and Print out the line,是一款功能强大的文本搜索工具。它主要应用于Unix及类Unix系统(如Linux),能够根据用户提供的正则表达式在文件中查找匹配的行,并将这些行...
windows grep包 解压后,grep路径加入PATH,即可使用 D:\>grep Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information.