Linux中grep命令使用介绍

系统 Linux
grep 命令是用来在文件中查找含有一些特定文本。 grep有许多参数,它是一个非常有用的命令 语法:grep [选项] pattern [文件名] 在一个文件中,如何查找所有可以匹配关键字的内容?

 grep 命令是用来在文件中查找含有一些特定文本。 grep有许多参数,它是一个非常有用的命令

语法:grep [选项] pattern [文件名]

在一个文件中,如何查找所有可以匹配关键字的内容?
在下面这个例子中,grep在“/etc/password/” 文件下查找所有含有“John” 的行并全部显示出来

 

1
2
3
# grep John /etc/passwd
jsmith:x:1082:1082:John Smith:/home/jsmith:/bin/bash
jdoe:x:1083:1083:John Doe:/home/jdoe:/bin/bash

参数-v会显示出所有不包含匹配文本的内容。下面的例子中,显示了所有在“/etc/password”下不含有“John”的内容。

 

注:在“/etc/password”下有几行不包含“John”,只有第一行显示了

 

1
2
# grep -v John /etc/passwd
jbourne:x:1084:1084:Jason Bourne:/home/jbourne:/bin/bash

在一个特定的文件中有多少行包含指定的匹配内容呢?
在下面这个例子中,显示了在“/etc/password/”下含有“John”的行的总数

 

 

1
2
# grep -c John /etc/passwd
2

用-cv也可以得到不含有“John”的行的总数

 

 

1
2
# grep -cv John /etc/passwd
39

如何在查找时忽略大小写
利用“-i”,搜索的时候会忽略大小写

 

 

1
2
3
# grep -i john /etc/passwd
jsmith:x:1082:1082:John Smith:/home/jsmith:/bin/bash
jdoe:x:1083:1083:John Doe:/home/jdoe:/bin/bash

如何在所有的子目录下执行相应的查找?
可以利用“-r”来完成。在下面的例子中,在“/home/users/”的子目录下忽略大小写,查找“John”,这会以“文件名:匹配的内容”形式显示。也可以利用参数“-l”,只显示文件名。

 

 

1
2
3
4
5
6
7
# grep -ri john /home/users
/home/users/subdir1/letter.txt:John, Thanks for your contribution.
/home/users/name_list.txt:John Smith
/home/users/name_list.txt:John Doe
# grep -ril john /root
/home/users/subdir1/letter.txt
/home/users/name_list.txt

【编辑推荐】

  1. Linux中history历史命令使用方法详解
  2. Linux下使用mke2fsk格式化分区的方法
  3. Ubuntu 11.10 利用终端环境备份还原
责任编辑:赵宁宁
相关推荐

2010-07-01 14:52:42

Linux grep命

2016-12-07 18:22:23

shelllinuxgrep

2021-03-29 10:10:15

Linuxgrep

2009-12-25 13:44:00

grep命令

2009-12-11 15:59:00

Linux grep指

2023-09-14 15:05:33

grep正则表达式

2010-03-09 09:55:14

Linux mount

2009-12-25 10:59:06

2013-11-13 13:55:16

Linux命令grep

2021-07-13 07:52:02

Linuxgrep命令

2021-07-20 10:00:28

Linuxgrep命令

2010-03-04 10:54:45

Linux telne

2010-03-04 11:07:24

Linux finge

2017-03-17 14:35:38

2010-03-11 09:50:46

Linux VI命令

2009-08-11 10:30:00

linux中du命令参linux命令行参数linux命令行

2020-01-07 09:20:58

Linuxuseradd 命令

2009-08-11 10:34:41

linux中du命令参linux命令行参数linux命令行

2010-03-05 15:20:25

Linux man命令

2011-07-19 09:25:52

点赞
收藏

51CTO技术栈公众号