`
mingren135
  • 浏览: 72536 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

linux命令-grep

 
阅读更多

grep是工作用到最多的命令,绝对是linux下的利器,这里总结一下

用法:grep -[acinv] '搜索内容串' filename

-a 以文本文件方式搜索 

-c 计算找到的符合行的次数 

-i 忽略大小写 

-n 输出行号 

-v 反向选择,即找 没有‘搜索字符串’的行 

搜索串可以是正则表达式。

 

1、输出行号,带‘name’和不带'name'的行

➜  my-web  grep -n 'name' test.log
➜  my-web  grep -nv 'name' test.log
 

 

2、利用[]搜索集合字符,[]表示其中的某一个字符

➜  my-web  grep '[mn]i' test.log 
name=jack,nike
#name=mike
 

3、可以用^符号做[]内的前缀,表示除[]内的字符之外的字符

➜  my-web  grep '[^n]' test.log                                                 #奇怪,把所有行输出了                      
tbbbbbbb
name=1234
name=jack,nike
#name=mike
age=24
 下面2种方式都ok!!
➜  my-web  grep -v '[n]' test.log
tbbbbbbb
age=24
 
➜  my-web  grep '[^n]i' test.log 
#name=mike
 

4、 [] 内可以用范围表示,比如[a-z] 表示小写字母,[0-9] 表示0~9的数字, [A-Z]则是大写字母

➜  my-web  grep '[0-9]' test.log
name=1234
age=24
➜  my-web  grep '[a-z]' test.log
 

5、行首与行尾字符 ^ $. ^ 表示行的开头,$表示行的结尾( 不是字符,是位置)那么‘^$' 就表示空行,因为只有 行首和行尾。  这里^与[]里面使用的^意义不同。它表示^后面的串是在行的开头。

➜  my-web  grep '^name' test.log
name=1234
name=jack,nike
➜  my-web  grep '^[a-z]' test.log
tbbbbbbb
name=1234
name=jack,nike
age=24 

 

#搜索开头不是小写英文字母的行
➜  my-web  grep '^[^a-z]' test.log
#name=mike
 
--------------------------------------
 

6、$表示它前面的串是在行的结尾,比如 '\.' 表示 . 在一行的结尾,.是正则表达式的特殊符号,所以要用\转义

➜  my-web  grep 'e$' test.log 
name=jack,nike
#name=mike
➜  my-web  grep -n '^$' test.log 
5:
➜  my-web  grep -nv '^$' test.log
1:tbbbbbbb
2:name=1234
3:name=jack,nike
4:#name=mike
6:age=24
7: 

 

7、正则表达式中,*表示有0个或多个某个字符,.代表一个任意字符

➜  my-web  grep 'm..e' test.log 
#name=mike
➜  my-web  grep 'tbbb*' test.log 
tbbbbbbb
 

 

8、限定连续重复字符的范围 { } ,范围是数字用,隔开 2,5 表示2~5个,  2表示2个,2, 表示2到更多个  注意,由于

{ }在SHELL中有特殊意义,因此作为正则表达式用的时候要用\转义一下

➜  my-web  grep 'tb\{5,\}' test.log
tbbbbbbb
 

9、egrep扩展正则表达式,其实 egrep 是 grep -E 的别名而已。因此grep -E 支持扩展正则。这里| 表示或的关系,+于 . * 作用类似,表示一个或多个重复字符。  ?于 . * 作用类似,表示0个或一个字符。()将部分内容合成一个单元组。

➜  my-web  egrep '^t|^#' test.log 
tbbbbbbb
#name=mike

 

10、fgrep、egrep、grep区别:

gerp Search a Pattern from current directory. 

 

egrep (grep -E in linux) is extended grep where additional regular expression metacharacters have been added like +, ?, | and ().

 

fgrep (grep -F in linux) is fixed or fast grep and behaves as grep but does not recognise any regular expression metacharacters as being special.

 

11、grep 搜索jar包里包含名称的文件,并列出jar包,用于排查类冲突

[xxx@yyyy lib]$ grep -r RequestParser .
Binary file ./aaa-4.0.13-SNAPSHOT.jar matches

 

 

分享到:
评论

相关推荐

    linux-grep-命令-详解.zip

    这个压缩包“linux-grep-命令-详解.zip”包含了一份详细文档“linux-grep-基本用法及高级技巧.doc”,将深入解析grep命令的各个方面。下面,我们将根据文档内容,对grep命令进行详细介绍。 grep,顾名思义,“g/re/...

    Linux 基础 38-文件内容命令-03-grep查找文件内容.flv

    Linux 基础 38-文件内容命令-03-grep查找文件内容.flv

    Linux 基础 39-文件内容命令-04-grep行首/行尾的模式查找.flv

    Linux 基础 39-文件内容命令-04-grep行首/行尾的模式查找.flv

    windows-cmd-linux-grep等命令扩充

    这些工具集不仅包含了类似于“grep”的命令,还提供了许多其他Linux命令的实现。 “grep”命令在Linux中用于在文件中搜索特定的文本模式。它的基本语法是`grep [选项] 模式 [文件]`,其中选项可以设定搜索行为,如 ...

    Linux教程-linux-文本处理-grep.docx

    grep 命令是 Linux 系统中最常用的文本处理工具之一,它可以根据用户指定的模式对目标文本逐行进行匹配检查,并打印匹配到的行。grep 命令的格式为:grep [OPTIONS] PATTERN [FILE...] 其中,OPTIONS 是可选参数,...

    linux grep命令详解

    ### Linux 下 `grep` 命令详解 `grep` 是 Linux 下一款强大的文本搜索工具,可以在文件中搜索固定字符串或者使用正则表达式搜索,是日常开发、运维工作中非常实用的一个命令。本文将详细介绍 `grep` 的常用选项及其...

    linux-shell脚本命令:grep命令简介

    grep命令是Linux系统中非常重要的文本搜索工具,它可以对文件中的内容进行搜索,并根据用户的搜索模式,显示出包含该模式的行。grep是Global Regular Expression Print的缩写,它支持POSIX基本正则表达式和扩展正则...

    前端开源库-fs-grep

    【fs-grep】是一个专为前端开发者设计的开源库,其灵感来源于经典的Linux命令`grep`,用于在文件系统中快速查找包含特定文本内容的文件。这个库将强大的搜索功能带到了前端环境中,使得在浏览器端处理大量文本数据时...

    linux命令--RUN.pdf

    接下来,我们详细解析文档中提到的Linux命令和功能: 1. 启动和关闭系统 - `#startx`:启动图形界面。 - `#logout`:注销当前用户。 - `#init 5`:切换到多用户图形界面模式。 - `#init 3`:切换到多用户命令行...

    linux ps 命令详解

    **Linux `ps` 命令详解** 在Linux操作系统中,`ps`(Process Status)命令是用于查看系统当前进程状态的工具。它能够显示进程的实时信息,帮助用户了解系统的运行情况,进行进程管理。`ps`命令历史悠久,功能强大,...

    Linux- 系统随你玩之-grep查找文件内容-fyydlz.zip

    `grep`命令就是这样一个强大的工具,它能帮助我们快速定位文本文件中的特定字符串或模式。本资源“Linux-系统随你玩之-grep查找文件内容-fyydlz.zip”包含了关于如何使用`grep`进行文本搜索的示例文件——fyydlz.txt...

    大数据基础-Linux基础详解课程29.基本命令-grep命令.mp4

    大数据基础-Linux基础详解课程

    linuxgrep命令.pdf

    Linux中的grep命令是一个非常强大的文本搜索工具,用于搜索文件中符合特定模式的字符串。以下是对文档中grep命令相关知识点的详细说明: 1. grep命令的结构和基本用法 grep的基本语法是:grep [options] pattern ...

    linux-grep

    ### Linux中的Grep命令详解 在深入探讨Grep命令之前,我们先来了解其基本概念。Grep(Global Regular Expression Print)是Linux中一个功能强大的文本搜索工具,它能够使用正则表达式来搜索文本,并将匹配的行打印...

    Linux常用命令和管理03-grep及正则表达式1

    "Linux常用命令和管理03-grep及正则表达式1" 本文将详细介绍 Linux 中的 grep 命令和正则表达式的使用,涵盖变量类别、Bash 配置文件、计算机理解、编程语言、Bash 编程、文件搜索、grep 命令、正则表达式、基本...

    Linux中grep命令参数及用法详解---linux管道命令grep

    ### Linux中的`grep`命令参数及用法详解 `grep`是Linux系统中非常重要的文本搜索工具之一,它能够帮助用户高效地查找文件中的特定模式或字符串。`grep`不仅适用于简单的文本匹配,还能处理复杂的正则表达式,是进行...

    linux命令 - 手机版.rar

    Linux命令是Linux操作系统中进行系统管理、文件操作和任务执行的基本工具。这些命令通常通过终端或控制台输入,使得用户可以与系统交互,执行各种任务,而无需图形化界面。在移动设备上,如Android手机,也可以安装...

    linux grep命令详解_linux_grep_

    Linux中的`grep`命令是文本处理工具中的重要一员,它在系统管理和日常工作中发挥着巨大的作用。`grep`源自于“global regular expression print”,即全局正则表达式打印,它的主要功能是从输入流(通常是文件或管道...

    Linux常用命令和管理04-grep及扩展正则表达式1

    根据给定文件的信息,我们可以详细地探讨Linux中的grep命令及其扩展正则表达式的使用方法,特别是针对提供的几个示例。 ### 扩展正则表达式基础 #### 字符匹配 在扩展正则表达式中,有几种常用的字符匹配方式: 1....

Global site tag (gtag.js) - Google Analytics