grep什么意思,grep什么意思
grep什么意思,grep什么意思详细介绍
本文目录一览: grep什么意思
grep
[英]['grep][美]['grep]
[计] 检索目标行命令;
grep这个词的汉语意思是什么?
grep 英['grep] 美['grep]
[词典] [计] 检索目标行命令;
[网络] 正则表达式; 查找字符串; 命令;
[例句]Just using dmesg| grep is a useful troubleshooting and system discovery tool.
只要使用dmesg grep,您会发现这是一个有用的故障检修和系统发现工具。
Linux里面grep -v命令作用是什么?
您好很高兴回答您的问题:
grep用于过滤的命令
-v表示排除与取反 比如grep -v '' /etc/passwd表示不显示/etc/passwd中包含oldboy的行
grep命令
grep
1.作用
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。
2.格式及主要参数
grep [options]
主要参数: grep --help可查看
-c:只输出匹配行的计数。
-i:不区分大小写。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
--color=auto :可以将找到的关键词部分加上颜色的显示。
pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
\>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
.:所有的单个字符。
*:所有字符,长度可以为0。
3.grep命令使用简单实例
itcast$ grep ‘test’ d*
显示所有以d开头的文件中包含 test的行
itcast $ grep ‘test’ aa bb cc
显示在aa,bb,cc文件中匹配test的行。
itcast $ grep ‘[a-z]\{5\}’ aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
itcast $ grep ‘wesest.*\1′ aa
如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着 另外一个es(\1),找到就显示该行。如果用egrep或grep -E,就不用”\”号进行转义,直接写成’w(es)t.*\1′就可以了。
4.grep命令使用复杂实例
明确要求搜索子目录:
grep -r
或忽略子目录
grep -d skip
如果有很多输出时,您可以通过管道将其转到’less’上阅读:
itcast$ grep magic /usr/src/Linux/Documentation/* | less
这样,您就可以更方便地阅读。
有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用 *)。如果您忘了,’grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按 ,然后再试。
下面还有一些有意思的命令行参数:
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
例如:grep "abc\|xyz" testfile 表示过滤包含abc或xyz的行
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
grep -n pattern files 即可显示行号信息
grep -c pattern files 即可查找总行数
还有些用于搜索的特殊符号:\< 和 \> 分别标注单词的开始与结尾。
例如:
grep man * 会匹配 ‘Batman’、’manic’、’man’等,
grep ‘\
<man’ * 匹配’manic’和’man’,但不是’batman’,
grep ‘\
’ 只匹配’man’,而不是’Batman’或’manic’等其他的字符串。
‘^’: 指匹配的字符串在行首,
grep简析
grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。
grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。
使用实例:
.grep 搜索字符串
命令格式:
grep string filename
寻找字串的方法很多,比如说我想找所有以M开头的行.此时必须引进pattern的观
念.以下是一些简单的例子,以及说明:
1、查找指定进程
命令:ps -ef|grep java
2、查找指定进程个数
命令:ps -ef|grep -c java
或ps -ef|grep java -c
3、从文件中读取关键词进行搜索,默认是显示的是行
例:通过管道过滤ls -l输出的内容,只显示以a开头的行。
例:显示所有以d开头的文件中包含test的行。
$ grep \'test\' d*
例:输出以hat结尾的行内容
$ cat test.txt |grep hat$
例:显示在aa,bb,cc文件中匹配test的行。
$ grep \'test\' aa bb cc
例:显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
在一组集合字节中,如果该字节组是连续的,例如大写英文/小写英文/数字等等,就可以使用[a-z],[A-Z],[0-9]等方式来书写,那么如果我们的要求字串是数字与英文呢?就将他全部写在一起,变成:[a-zA-Z0-9]。
例:显示包含ed或者at字符的内容行
cat test.txt |grep -E "ed|at"
例:如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(. ),这些字符后面紧跟着另外一个es(1),找到就显示该行。如果用egrep或grep -E,就不用""号进行转义,直接写成'w(es)t. 1'就可以了。
$ grep \'w(es)t.*1\' aa
例:显示当前目录下面以.txt 结尾的文件中的所有包含每个字符串至少有7个连续小写字符的字符串的行
grep '[a-z]\{7\}' *.txt
例:查询IP地址、邮箱、手机号
这里用到了-o和-P命令
man grep查看
也就是说-o,只显示匹配行中匹配正则表达式的那部分,-P,作为Perl正则匹配
192.168.0.1
abc@163.com
匹配ABC类IP地址即 1.0.0.1---223.255.255.254
grep -oP "([0-9]{1,3}\.){3}[0-9]{1,3}" file.txt
grep -E --color "\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-1][0-9]|22[0-3])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>" file.txt
邮箱是任意长度数字字母@任意长度数字字母
命令(邮箱): grep -oP "[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+" file.txt
手机号码是1[3|4|5|8]后面接9位数字的
命令(手机号): grep -E "\<1[3|4|5|8][0-9]{9}\>" file.txt
例:任意一个字节 . 与重复字节 *
. (小数点):代表『一定有一个任意字节』的意思;
例:限定连续 RE 字符范围 {}
利用 . 与 RE 字符及 * 来配置 0 个到无限多个重复字节
打算找出两个到五个 o 的连续字串,该如何作?这时候就得要使用到限定范围的字符 {} 了。 但因为 { 与 } 的符号在 shell 是有特殊意义的,因此, 我们必须要使用字符 \ 来让他失去特殊意义才行。
cat etchosts grep 网址 什么意思 grep是什么意思?
在 Linux 系统中,grep 是用来匹配指定的字符串的。其中:“|”是管道操作符。表示前一个命令的输出结果,作为后一个命令的输入结果。
在 Linux 系统中,/etc/hosts 是一个文本文件,用于存放一些主机的 IPV4 地址。假设文本内容如下:
202.112.0.33
202.112.0.37
202.112.1.28
若输入 cat /etc/hosts|grep "202.112.0.*",则输出结果为:
202.112.0.33
202.112.0.37
若输入 cat /etc/hosts|grep "202.112.1.*",则输出结果为:202.112.1.28
grep -v grep是什么意思阿
grep就是在文件中搜索包含指定字符串的行。
grep加了“-v”
选项就是反一下,找到文件中不包含指定字符串的行。
|grep
-v
xx
是指显示不包含xxx的行或文件,-v表示取反的意思
netstat -nl grep 3333 中的grep什么意思?它取自什么单词阿?
grep 是一种文本搜索工具,可以从档案中搜索匹配的字符串,
为 global / regular expression / print 的首字母缩写,功能和windows下的find命令类似,但因为可以使用正则表达式,所以功能比find强大的多。
netstat -nl 意为 查看所有后台程序监听的端口
netstat -nl | grep 3333 整句可以查看哪些程序正在监听3333端口
makefile 中的,像gun中的 awk,grep都什么意思,谁有文档说明,给你,谢谢!
你这个makefile 文件因该是在linux下使用的编译文件。awk,grep都是linux的过滤命令。
grep主要是命令的简单过滤。
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
从这里可以看出,awk和grep都是文本处理,但awk更加强大。
ps -ef grep 命令结果含义
ps -ef grep 命令结果含义如下:
ps -ef |grep 输出的具体含义
ps -ef 命令就是列出当前所有的进程信息
grep 起到一个过滤的文件
[root@localhost ~]# ps -ef | grep ApacheJetspeed
root 18887 18828 0 08:09 pts/0 00:00:00 grep ApacheJetspeed
字段含义如下:
UID PID PPID C STIME TTY TIME CMD
root 18887 18828 0 08:09 pts/0 00:00:00 grep ApacheJetspeed
ps:将某个进程显示出来
-A 显示所有程序。
-e 此参数的效果和指定"A"参数相同。
-f 显示UID,PPIP,C与STIME栏位。
grep命令是查找
中间的|是管道命令 是指ps命令与grep同时执行
这条命令的意思是显示有关Apachejetspeed有关的进程
UID PID PPID C STIME TTY TIME CMD
各相关信息的意义:
UID 程序被该 UID 所拥有
PID 就是这个程序的 ID
PPID 则是其上级父程序的ID
C CPU 使用的资源百分比
STIME 系统启动时间
TTY 登入者的终端机位置
TIME 使用掉的 CPU 时间。
CMD 所下达的指令为何
对于查询结果,如何判断是运行与否呢?
这是因为ps -ef是显示所有进程的消息,包括ApacheJetspeed和grep ApacheJetspeed这两个甚至包括ps -ef本身,而grep是查找输出包含想要的字符串的行,也就是说grep ApacheJetspeed是在所有运行的进程中查找输出包含“ApacheJetspeed”字符串的输出行,这里面就包含ApacheJetspeed,和grep ApacheJetspeed 两个进程。
即,如果运行了会显示两条输出一条是ApacheJetspeed的,令一条是grep ApacheJetspeed的。
如果没运行只会显示grep ApacheJetspeed的。
附:再说一下大部人使用kill -9 PID强行杀掉进程,但其实推荐使用kill -s QUIT PID 来正常关闭进程。关闭不了在使用kill -9 强行杀掉进程。