Linuxgrep命令用法
Linux grep命令用法
grep用于查找文件中符合字符串的那行。e.g. grep -nr
"network_ssl" ./ [查找当前文件夹下所有文件内容,列出包含有
network_ssl该字串的行,并显示行号],那么你知道Linux grep命令用法么?接下来是小编为大家收集的Linux grep命令用法,欢迎大家阅读:
Linux grep命令用法
首先创建我们练习grep命令时需要用到的demo文件demo_file。
$ cat demo_file
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
This Line Has All Its First Character Of The Word With Upper
Case.
Two lines above this line is empty.
And this is the last line.
1.从单个文件中搜索指定的字串
grep的基础用法是如下例的从指定的文件中搜索特定的字串。
语法:
grep "literal_string" filename
$ grep "this" demo_file
this line is the 1st lower case line in this file.
Two lines above this line is empty.
And this is the last line.
2. 在多个文件中检索指定的字串
语法:
grep "string" FILE_PATTERN
先拷贝demo_file为demo_file1。grep的结果在符合条件的行前将包括文件名。当文件名包含元字符时,linux shell会将匹配的所有文件作为输入到grep中去。
$ cp demo_file demo_file1
$ grep "this" demo_*
demo_file:this line is the 1st lower case line in this file.
demo_file:Two lines above this line is empty.
demo_file:And this is the last line.
demo_file1:this line is the 1st lower case line in this file.
demo_file1:Two lines above this line is empty.
demo_file1:And this is the last line.
3. 用 grep -i 进行大小写无关的搜索
语法:
grep -i "string" FILE
也是一个基本用法,对搜索的字串忽略大小写,因此下例中匹配“the”, “THE” and “The”。
$ grep -i "the" demo_file
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
This Line Has All Its First Character Of The Word With Upper
Case.
And this is the last line.
4. 使用用正则表达式
语法:
grep "REGEX" filename
如果你能有效地利用正则表达式,这是个很有用的特点。在下面的例子中,搜索全部以“lines”开始以“empty”结束的字串,如搜索“lines[之间任意字]empty” ,并且忽略大小写。
$ grep -i "lines.*empty" demo_file
Two lines above this line is empty.
正则表达式遵循的几个重复的操作 最多匹配一次
* 匹配零次或者任意多次
+ 匹配一次以上
{n} 匹配n次
{n,} 最少匹配n次
{,m} 最多匹配m次
{n,m} 匹配n到m次
5. 用grep -w搜索整个词,而不是词中的部分字串
使用-w选项搜索一个单词,并且避免搜索到词中的部分字串。
下例搜索"is"。如果不加-w选项,将显示“is”, “his”, “this”
等所有包含“is”的行。
$ grep -i "is" demo_file
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
This Line Has All Its First Character Of The Word With Upper
Case.
Two lines above this line is empty.
And this is the last line.
下例使用了-w选项,请注意结果中不包含 “This Line Has All Its
First Character Of The Word With Upper Case”, 虽然 “This”中包含“is”。
$ grep -iw "is" demo_file
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
Two lines above this line is empty.
And this is the last line.
6. 使用grep -A, -B and -C显示之前、之后、前后的几行
当使用grep搜索大文件时,显示匹配行附近的多行数据是一个很有用的功能。
创建如下文件 $ cat demo_text
4. Vim Word Navigation
You may want to do several navigation in relation to the
words, such as:
* e - go to the end of the current word.
* E - go to the end of the current WORD.
* b - go to the previous (before) word.
* B - go to the previous (before) WORD.
* w - go to the next word.
* W - go to the next WORD.
WORD - WORD consists of a sequence of non-blank
characters, separated with white space.
word - word consists of a sequence of letters, digits and
underscores.
Example to show the difference between WORD and word
* 192.168.1.1 - single WORD
* 192.168.1.1 - seven words.
6.1 显示匹配行之后的N行
-A
语法:
grep -A "string" FILENAME
下例显示匹配行和之后的3行数据
$ grep -A 3 -i "example" demo_text
Example to show the difference between WORD and word
* 192.168.1.1 - single WORD
* 192.168.1.1 - seven words.
6.2显示匹配行之前的N行
-B
语法: grep -B "string" FILENAME
下例显示匹配行和之前的2行数据
$ grep -B 2 "single WORD" demo_text
Example to show the difference between WORD and word
* 192.168.1.1 - single WORD
6.3显示匹配行前后的N行
-C 显示之前的n行,之后的n行数据.
$ grep -C 2 "Example" demo_text
word - word consists of a sequence of letters, digits and
underscores.
Example to show the difference between WORD and word
* 192.168.1.1 - single WORD
7.通过GREP_OPTIONS高亮显示搜索的字串
如果你希望搜索的字串高亮显示在结果中,可以试用以下的办法。
通过修改GREP_OPTIONS对搜索字串高亮显示。
$ export GREP_OPTIONS='--color=auto'
GREP_COLOR='100;8'
$ grep this demo_file
this line is the 1st lower case line in this file.
Two lines above this line is empty.
And this is the last line.
8. 用grep -r递归搜索全部的文件
如果想查找当前目前以及其子目录的全部文件时,可以使用 -r 选项。如下例
$ grep -r "ramesh" *
9. 使用grep -v进行不匹配
可以使用-v选项显示不匹配搜索字串的行。下例显示demo_text文件中不包含“go”的行
$ grep -v "go" demo_text
4. Vim Word Navigation
Linux命令高级技巧使用grep进行多个文件的全文搜索
Linux命令高级技巧使用grep进行多个文件的全文搜索
在Linux系统中,grep命令是一种非常有用的工具,用于在文件中搜索指定的字符串或模式。它可以轻松地进行单个文件的搜索,但是如果要同时在多个文件中进行全文搜索,grep命令又如何使用呢?本文将介绍如何使用grep命令进行多个文件的全文搜索,并对其进行高级技巧的应用。
一、基本语法
grep命令的基本语法如下:
grep [选项] 搜索模式 文件名
其中,选项(Options)用于指定grep的相关参数,搜索模式(Pattern)为要搜索的字符串或模式,文件名(File name)指定要搜索的文件。
二、搜索多个文件
要在多个文件中进行全文搜索,只需将要搜索的文件名依次列出即可。例如,要在file1.txt、file2.txt和file3.txt这三个文件中搜索字符串"example",可以使用以下命令:
grep "example" file1.txt file2.txt file3.txt
这样,grep命令就会在这三个文件中搜索包含"example"字符串的行,并将匹配的结果输出。 三、递归搜索目录
除了可以搜索多个指定文件外,grep命令还支持在指定目录及其子目录下递归搜索文件。这在需要搜索整个目录树时非常有用。要执行递归搜索,可以使用"-r"或"-R"选项,如下所示:
grep -r "example" /path/to/directory
其中,"/path/to/directory"为目标目录的路径。此命令将在该目录及其子目录中搜索包含"example"字符串的文件。
四、同时显示匹配行号
在搜索结果中,有时我们希望显示匹配行的行号,以便更好地跟踪每个匹配的位置。为了显示匹配行的行号,可以使用"-n"选项,命令如下:
grep -n "example" file1.txt file2.txt file3.txt
使用该命令后,grep会显示每个匹配行的行号,让我们可以更方便地定位到匹配的位置。
linux中grep -rn命令用法
linux中grep -rn命令用法
grep是一种文本搜索工具,常用于在文件中查找指定模式的字符串,并将包含该模式的行打印出来。-rn是grep命令的两个选项,表示在指定目录下递归地搜索文件,并显示包含匹配模式的行以及行号。
下面是关于grep -rn命令用法的相关参考内容:
1. 基本语法:
grep -rn "pattern" /path/to/directory
- -r 或 --recursive:递归搜索指定目录及其子目录下的所有文件。
- -n 或 --line-number:显示匹配行的行号。
- "pattern":需要搜索的模式或表达式。
- /path/to/directory:需要搜索的目录路径。
示例:在当前目录及其子目录中搜索包含"example"字符串的文件,并返回匹配行及其行号。
grep -rn "example" .
2. 搜索指定文件类型:
grep -rn "pattern" --include=*.{extension} /path/to/directory
- --include=*.{extension}:仅搜索指定扩展名的文件。
- extension:需要搜索的文件扩展名。
示例:仅搜索.txt文件中包含"example"字符串的行。 grep -rn "example" --include=*.txt .
3. 排除指定文件类型:
grep -rn "pattern" --exclude=*.{extension} /path/to/directory
- --exclude=*.{extension}:排除指定扩展名的文件。
示例:搜索除了.log文件以外的所有文件中包含"example"字符串的行。
grep -rn "example" --exclude=*.log .
linux中grep -rn命令用法 2
linux中grep -rn命令用法
Linux中的grep命令是一种强大的文本搜索工具,它可以帮助用户在文本文件中查找特定的模式。其中,grep -rn命令是grep命令的一个常见用法,用于在指定目录下递归地搜索包含指定模式的文件,并显示匹配行的行号。在本篇文章中,我们将一步一步地回答关于grep -rn命令的用法。
第一步:打开终端
要使用Linux中的grep -rn命令,首先需要打开终端。在终端中,可以输入和执行各种命令。
第二步:了解grep命令的基本用法
在使用grep -rn命令之前,我们首先需要了解grep命令的基本用法。grep命令通常使用以下格式:
grep [选项] 模式 [文件名]
其中,选项是可选的,用于设置grep命令的行为。模式是要搜索的模式,可以是一个字符串或正则表达式。文件名是要搜索的文件名或文件列表。
第三步:理解grep -rn命令的选项
grep -rn命令有两个选项:-r和-n。下面我们分别介绍这两个选项的作用。
-r选项(递归搜索) 使用-r选项,grep命令将递归地搜索指定目录下的文件和子目录。这意味着grep命令将搜索指定目录及其所有子目录中的文件。
-n选项(显示行号)
使用-n选项,grep命令将在匹配的行前面显示行号。这对于定位匹配行在文件中的位置非常有用。
第四步:使用grep -rn命令在指定目录下递归搜索文件
有了对grep命令和grep -rn命令选项的基本了解,我们可以开始使用grep -rn命令在指定目录下递归搜索文件了。下面是grep -rn命令的完整格式:
grep -rn 模式 目录
其中,模式是要搜索的模式,可以是一个字符串或正则表达式。目录是要搜索的指定目录。
举个例子,我们可以使用以下命令在当前目录下递归搜索包含"hello"字符串的文件,并显示匹配行的行号:
grep -rn "hello" .
在上述命令中,-rn选项指定了递归搜索和显示行号。"hello"是要搜索的模式。点号"."表示当前目录,这意味着grep命令将搜索当前目录及其所有子目录中的文件。
Linuxgrep命令用法
Linux grep命令用法
grep用于查找文件中符合字符串的那行。e.g. grep -nr
"network_ssl" ./ [查找当前文件夹下所有文件内容,列出包含有
network_ssl该字串的行,并显示行号],那么你知道Linux grep命令用法么?接下来是小编为大家收集的Linux grep命令用法,欢迎大家阅读:
Linux grep命令用法
首先创建我们练习grep命令时需要用到的demo文件demo_file。
$ cat demo_file
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
This Line Has All Its First Character Of The Word With Upper
Case.
Two lines above this line is empty.
And this is the last line.
1.从单个文件中搜索指定的字串
grep的基础用法是如下例的从指定的文件中搜索特定的字串。
语法:
grep "literal_string" filename
$ grep "this" demo_file
this line is the 1st lower case line in this file.
Two lines above this line is empty.
And this is the last line.
2. 在多个文件中检索指定的字串
语法:
grep "string" FILE_PATTERN
先拷贝demo_file为demo_file1。grep的结果在符合条件的行前将包括文件名。当文件名包含元字符时,linux shell会将匹配的所有文件作为输入到grep中去。
Linuxgrep命令使用方法
Linuxgrep命令使⽤⽅法
Linux系统中grep命令可以根据指定的字符串或者正则表达式对⽂件内容进⾏匹配查找。在Linux⽂件处理和SHELL编程中使⽤⼴泛。
grep基本语法
⽤法: grep [选项] "字符串/基本正则表达式" [⽂件]
常⽤选项
-c 只输出匹配⾏的计数。
-i 不区分⼤⼩写(只适⽤于单字符)。
-h 查询多⽂件时不显⽰⽂件名。
-l 查询多⽂件时只输出包含匹配字符的⽂件名。
-n 显⽰匹配⾏及⾏号。
-s 不显⽰不存在或⽆匹配⽂本的错误信息。
-v 显⽰不包含匹配⽂本的所有⾏。
-q 不显⽰存在或者匹配的⽂本信息
-f 后接⽂件名,以⽂件中的每⼀⾏作为匹配项
-R 递归查询当前⽬录下的⽂件
-w 匹配单词
-o 只输出匹配字符串
-A 输出匹配⾏的后n⾏,后带数字,如-A 2
-B 输出匹配⾏的前n⾏,后带数字,如-B 2
-C 输出匹配⾏的前后n⾏,后带数字,如-C 2
特别说明
1、对于匹配的字符串或者正则表达式需要注意,对于字符串,建议使⽤双引号,⽐如"test"、"test test"、"$VAR"等。对于正则表达式,建议使⽤单引号,⽐
如'[0-9]*test'、'^[0-9]'等
2、⽂件。可以使⽤⽂件全名,⽐如test.unl、student.txt等,也可以使⽤模式匹配,⽐如*表⽰所有⽂件、*.unl表⽰查找所有以.unl后缀的⽂件,Test*.unl表⽰
以Test开头并以.unl结尾的⽂件等。
grep常⽤实例
1、查找包含oracle字符串的⾏
grep "oracle" /etc/passwd #区分⼤⼩写查找带oracle字符串的⾏
grep -i "oracle" /etc/passwd #不区分⼤⼩写查找带oracle字符串的⾏
grep -ni "oracle" /etc/passwd #不区分⼤⼩写查找带oracle字符串的⾏并显⽰⾏号
grep -i '^oracle:' /etc/passwd #查找以oracle:开头⽤的⾏
linux中grep命令的用法
linux中grep命令的⽤法
作为linux中最为常⽤的三⼤⽂本(awk,sed,grep)处理⼯具之⼀,掌握好其⽤法是很有必要的。
⾸先谈⼀下grep命令的常⽤格式为:grep [选择] "模式" [⽂件]
grep 家族共有三个:grep egrep fgrep.
常⽤选择:
-E: 开启扩展(Extend)的正则表达式。-i: 忽略⼤⼩写(ignore case).-v: 反过来(invert),只打印没有匹配的,⽽匹配的反⽽不打印。-n: 显⽰⾏号。-o: 只显⽰被模式匹配到的字符串。--color: 将匹配到的内容以颜⾊⾼亮显⽰。-w: 被匹配的⽂本只能是单词,⽽不能是单词中的某⼀部分,如⽂本中有liker,⽽我搜寻的额只是like,就可以使⽤-w选项来避免匹配liker-c: 显⽰总共有多少⾏被匹配到了,⽽不是显⽰被匹配到的内容,如果同时使⽤-cv选项是显⽰有多少⾏没有被匹配到。-A: n:显⽰匹配到的字符串所在的⾏及其后n⾏,after-B: n:显⽰匹配到的字符串所在的⾏及其前n⾏,before-C: n:显⽰匹配到的字符串所在的⾏及其前后各n⾏,context
⽂件的模糊查询数据,字符串。
grep -C 50 "NullPointerException" catalina.out
cat catalina.out |grep -A 50 "sendToSAP"
进⼊⽂件夹路径。
cd /opt/yh-fico-rpcservice/logs
循环遍历最后⾏内容。
tail -f catalina.out 监视catalina.out⽂件的尾部内容(默认10⾏,相当于增加了-n 10),刷新显⽰在页⾯上。退出,按下CTRL+C.
tail -n 20 catalina.out 显⽰catalina.out最后20⾏
cat 从第⼀⾏开始显⽰档案内容
tac 从最后⼀⾏开始显⽰档案内容
more 分页显⽰档案内容
Linux命令行小技巧使用grep命令查找空白行
Linux命令行小技巧使用grep命令查找空白行
在Linux命令行中,grep命令是一个非常有用的工具,它用于在文件中搜索指定的字符串或模式。除了搜索具体的文本内容,grep命令还可以用来查找空白行,这在处理文本文件时非常实用。本文将介绍如何使用grep命令查找空白行,并提供几个小技巧帮助您更高效地使用该命令。
一、grep命令简介
grep命令是一种强大的文本搜索工具,它可以在文件或输入流中查找与指定模式匹配的行,并将其输出到标准输出中。它的基本语法如下:
grep [选项] 模式 [文件]
其中,选项是可选的,用于指定搜索的模式和文件。如果不指定文件,则grep命令将从标准输入中读取内容进行搜索。
二、使用grep命令查找空白行
在Linux系统中,文本文件中的空白行通常指的是不含任何字符或只包含空格、制表符等空白字符的行。使用grep命令查找空白行非常简单,只需将模式指定为空即可。以下是一个示例:
grep '^$' file.txt 在这个示例中,^表示行的开头,$表示行的结尾,两者连在一起形成了一个空白行的模式。file.txt是待搜索的文件名。
三、使用grep命令查找包含空白行的文件
有时候,我们需要查找一个文件夹下所有包含空白行的文件。grep命令可以通过使用-r选项递归搜索指定文件夹下所有文件,并输出包含空白行的文件名。以下是一个示例:
grep -r '^$' folder/
在这个示例中,-r选项表示递归搜索,folder/是待搜索的文件夹名。
四、使用grep命令查找空白行并统计数量
除了查找空白行,有时候我们还需要知道空白行的数量。grep命令提供了-c选项,可以用于统计匹配到的行数(即空白行的数量)。以下是一个示例:
grep -c '^$' file.txt
在这个示例中,-c选项用于统计匹配到的行数。
五、使用grep命令查找除空白行外的其他行
有时候,我们需要查找除空白行外的其他行。grep命令可以使用-v选项来实现这一功能,即排除匹配到的行。以下是一个示例:
Linux命令高级技巧使用grep命令进行多条件匹配
Linux命令高级技巧使用grep命令进行多条件匹配
Linux操作系统提供了许多强大的命令行工具,其中grep是一个非常常用的命令。grep可以在文件中搜索指定的模式,并输出匹配成功的行。在本文中,我们将重点介绍如何使用grep命令进行多条件匹配。
1. 基本用法
grep命令的基本语法如下:
```
grep [OPTION]... PATTERN [FILE]...
```
其中,PATTERN是要匹配的模式,可以是一个字符串或者正则表达式。FILE是要搜索的文件名。
例如,要在文件example.txt中搜索字符串"hello",可以使用以下命令:
```
grep "hello" example.txt
```
该命令会输出example.txt文件中所有包含"hello"的行。
2. 单条件匹配 如果只需要搜索单个条件的匹配,可以直接使用grep命令。例如,要搜索包含"error"的行,可以使用以下命令:
```
grep "error" example.txt
```
3. 多条件匹配
grep命令还可以同时匹配多个条件,这对于筛选复杂的文本数据非常有用。有两种方法可以实现多条件匹配:使用逻辑运算符和使用正则表达式。
3.1 逻辑运算符
grep命令支持三种逻辑运算符:AND、OR和NOT。
- AND运算符表示同时匹配两个条件。例如,要搜索同时包含"error"和"warning"的行,可以使用以下命令:
```
grep "error" example.txt | grep "warning"
```
这个命令首先使用第一个grep命令筛选包含"error"的行,然后再使用第二个grep命令从结果中筛选包含"warning"的行。
- OR运算符表示匹配任意一个条件。要搜索同时包含"error"或"warning"的行,可以使用以下命令: ```
grep -e "error" -e "warning" example.txt
linuxgrep命令常见用法
linuxgrep命令常见⽤法
在 linux 系统中,有三个强⼤的⽂本分析处理⼯具:grep sed awk,其中:grep ⽤于搜索⽂本内容 =>
sed ⽤于编辑⽂本内容 =>
awk ⽤于处理和⽣成报表 =>
grep 的⼯作原理是将⽂件内容逐⾏读⼊,然后在每⼀⾏数据中搜索符合条件的内容并打印出来
grep 命令的使⽤格式如下:
grep “pattern” file_name在⽂件中搜索符合样式 pattern 的内容,并打印出来
这⾥的 pattern ⼀般是正则表达式,也可以是字符串(字符串也可以看成是⼀种简单的正则表达式)
下⾯结合实例简单介绍 grep 命令的常见⽤法:
假设⽂件 log.txt 的内容如下:running syntax check ...checked 100 lines,2 have errorserror: nothing matched !error: cannot open the target !syntax check finished!
1. 搜索出包含字符 error 的⾏
grep error log.txt>>checked 100 lines,2 have errorserror: nothing matched !error: cannot open the target !如果希望将搜索到的⽬标⾼亮出来,可以加上选项 “--color=auto”grep --color=auto error log.txt>>checked 100 lines,2 have errorserror: nothing matched !error: cannot open the target !为了⽅便,可以将这个选项添加到⾃⼰的 alias ⽂件中:alias grep "grep --color=auto"
2. 搜索以 error 开头的那些⾏
grep "^error" log.txt>>error: nothing matched !error: cannot open the target !这⾥的 "^error" 是正则表达式, 符号 "^" 表⽰⼀⾏的开头
linux下的grep用法详解
linux下的grep⽤法详解
Grep : g (globally) search for a re (regular e-xpression ) and p (print ) the results.
1、参数:
-I :忽略⼤⼩写
-c :打印匹配的⾏数
-l :从多个⽂件中查找包含匹配项
-v :查找不包含匹配项的⾏
-n:打印包含匹配项的⾏和⾏标
2、RE(正则表达式)
\ 忽略正则表达式中特殊字符的原有含义
^ 匹配正则表达式的开始⾏
$ 匹配正则表达式的结束⾏
\< 从匹配正则表达式的⾏开始
\> 到匹配正则表达式的⾏结束
[ ] 单个字符;如[A] 即A符合要求
[ - ] 范围 ;如[A-Z]即A,B,C⼀直到Z都符合要求
. 所有的单个字符
* 所有字符,长度可以为0
3、举例
# ps -ef | grep in.telnetd
root 19955 181 0 13:43:53 ? 0:00 in.telnetd
# more size.txt size⽂件的内容
b124230
b034325
a081016
m7187998
m7282064
a022021
a061048
m9324822
b103303
a013386
b044525
m8987131
B081016
M45678
B103303
BADc2345
# more size.txt | grep '[a-b]' 范围 ;如[A-Z]即A,B,C⼀直到Z都符合要求
b124230
b034325
a081016
a022021
a061048
b103303
a013386
b044525
# more size.txt | grep '[a-b]'*
b124230
b034325
a081016
m7187998
m7282064
a022021
a061048
m9324822
b103303
a013386
