【易客吧】_全网激活码总代_激活码商城

您现在的位置是:首页 > 热门资讯 > 正文

热门资讯

使用grep命令的强大正则表达式功能 (使用grep命令查找文件内容)

用户投稿2024-04-13热门资讯25

grep命令是一个功能强大的文本搜索工具,它使用正则表达式来查找和提取数据。正则表达式是强大的模式匹配语言,允许您指定要搜索的文本模式。

正则表达式语法

正则表达式语法包含以下元素:

  • 字符类:方括号 ([]) 内的字符匹配一个字符范围。例如,[aeiou] 匹配一个元音字母。
  • 元字符:特殊字符具有特定含义。例如,. 匹配任何字符, 匹配其前面的元素零次或多次。
  • 分组:圆括号 (()) 创建一个组,您可以将其视为一个单元。例如,(ab) 匹配 ab 重复零次或多次。
  • 量词:量词指定元素出现次数。例如,{3} 匹配其前面的元素三次。

grep正则表达式示例

以下是使用grep命令和正则表达式的示例:

grep "pattern" filenamegrep -i "pattern" filename  不区分大小写grep -v "pattern" filename  匹配不包含模式的行grep -c "pattern" filename  计数模式出现的次数grep -n "pattern" filename  打印包含模式的行号grep -A "pattern" filename  打印模式后 A 行grep -B "pattern" filename  打印模式前 B 行

下面是一些正则表达式示例:

^.+$  匹配以任何字符开头的非空行
[0-9]+  匹配一个或多个数字
[a-zA-Z]+  匹配一个或多个字母
\w+  匹配一个或多个单词字符
.+@.+\..+  匹配一个电子邮件地址

高级grep示例

以下是一些使用grep和正则表达式的更高级示例:

grep -E "(a|b)$" filename  匹配以 a 或 b 结尾的行
grep -o "\w+" filename  仅打印文件中的单词
grep -P "^[0-9]{3}-[0-9]{3}-[0-9]{4}$" filename  匹配电话号码
grep -R "pattern" directory  在目录中递归搜索模式

结论

grep命令的正则表达式功能是一个强大的工具,可用于查找、提取和分析文本数据。通过了解正则表达式语法和使用 grep,您可以高效地执行复杂文本搜索。

使用grep命令的强大正则表达式功能 (使用grep命令查找文件内容) 第1张

linux命令大全之grep命令详解

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。 grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。 如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。 搜索的结果被送到标准输出,不影响原文件内容。 grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。 我们利用这些返回值就可进行一些自动化的文本处理工作。 1.命令格式:复制代码 代码如下:grep [option] pattern file2.命令功能: 用于过滤/搜索的特定字符。 可使用正则表达式能多种命令配合使用,使用上十分灵活。 3.命令参数: -a --text #不要忽略二进制的数据。 -A显示行数 --after-context=显示行数 #除了显示符合范本样式的那一列之外,并显示该行之后的内容。 -b --byte-offset #在显示符合样式的那一行之前,标示出该行第一个字符的编号。 -B显示行数 --before-context=显示行数 #除了显示符合样式的那一行之外,并显示该行之前的内容。 -c --count #计算符合样式的列数。 -C显示行数 --context=显示行数或-显示行数 #除了显示符合样式的那一行之外,并显示该行之前后的内容。 -d 动作 --directories=动作 #当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。 -e范本样式 --regexp=范本样式 #指定字符串做为查找文件内容的样式。 -E --extended-regexp #将样式为延伸的普通表示法来使用。 -f规则文件 --file=规则文件 #指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。 -F --fixed-regexp #将样式视为固定字符串的列表。 -G --basic-regexp #将样式视为普通的表示法来使用。 -h --no-filename #在显示符合样式的那一行之前,不标示该行所属的文件名称。 -H --with-filename #在显示符合样式的那一行之前,表示该行所属的文件名称。 -i --ignore-case #忽略字符大小写的差别。 -l --file-with-matches #列出文件内容符合指定的样式的文件名称。 -L --files-without-match #列出文件内容不符合指定的样式的文件名称。 -n --line-number #在显示符合样式的那一行之前,标示出该行的列数编号。 -q --quiet或--silent #不显示任何信息。 -r --recursive #此参数的效果和指定“-d recurse”参数相同。 -s --no-messages #不显示错误信息。 -v --revert-match #显示不包含匹配文本的所有行。 -V --version #显示版本信息。 -w --word-regexp #只显示全字符合的列。 -x --line-regexp #只显示全列符合的列。 -y #此参数的效果和指定“-i”参数相同。 4.规则表达式: grep的规则表达式: ^ #锚定行的开始 如:^grep匹配所有以grep开头的行。 $ #锚定行的结束 如:grep$匹配所有以grep结尾的行。 . #匹配一个非换行符的字符 如:gr.p匹配gr后接一个任意字符,然后是p。 * #匹配零个或多个先前字符 如:*grep匹配所有一个或多个空格后紧跟grep的行。 .* #一起用代表任意字符。 [] #匹配一个指定范围内的字符,如[Gg]rep匹配Grep和grep。 [^] #匹配一个不在指定范围内的字符,如:[^A-FH-Z]rep匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。 /(../) #标记匹配字符,如/(love/),love被标记为1。 / #锚定单词的开始,如:/grep匹配包含以grep开头的单词的行。 / #锚定单词的结束,如grep/匹配包含以grep结尾的单词的行。 x/{m/} #重复字符x,m次,如:0/{5/}匹配包含5个o的行。 x/{m,/} #重复字符x,至少m次,如:o/{5,/}匹配至少有5个o的行。 x/{m,n/} #重复字符x,至少m次,不多于n次,如:o/{5,10/}匹配5--10个o的行。 /w #匹配文字和数字字符,也就是[A-Za-z0-9],如:G/w*p匹配以G后跟零个或多个文字或数字字符,然后是p。 /W #/w的反置形式,匹配一个或多个非单词字符,如点号句号等。 /b #单词锁定符,如: /bgrep/b只匹配grep。 POSIX字符: 为了在不同国家的字符编码中保持一至,POSIX(The Portable Operating System Interface)增加了特殊的字符类,如[:alnum:]是[A-Za-z0-9]的另一个写法。 要把它们放到[]号内才能成为正则表达式,如[A- Za-z0-9]或[[:alnum:]]。 在linux下的grep除fgrep外,都支持POSIX的字符类。 [:alnum:] #文字数字字符 [:alpha:] #文字字符 [:digit:] #数字字符 [:graph:] #非空字符(非空格、控制字符) [:lower:] #小写字符 [:cntrl:] #控制字符 [:print:] #非空字符(包括空格) [:punct:] #标点符号 [:space:] #所有空白字符(新行,空格,制表符) [:upper:] #大写字符 [:xdigit:] #十六进制数字(0-9,a-f,A-F)5.使用实例: 实例1:查找指定进程 命令:ps -ef|grep svn 输出:复制代码 代码如下:[root@localhost ~]# ps -ef|grep svn root 4943 1 0 Dec05 ? 00:00:00 svnserve -d -r /opt/svndata/grape/ root 0 19:53 pts/0 00:00:00 grep svn [root@localhost ~]#说明:第一条记录是查找出的进程;第二条结果是grep进程本身,并非真正要找的进程。 实例2:查找指定进程个数 命令:复制代码 代码如下:ps -ef|grep svn -c ps -ef|grep -c svn输出:复制代码 代码如下:[root@localhost ~]# ps -ef|grep svn -c 2 [root@localhost ~]# ps -ef|grep -c svn 2 [root@localhost ~]#实例3:从文件中读取关键词进行搜索 命令:cat | grep -f 输出:复制代码 代码如下:[root@localhost test]# cat hnlinux ubuntu ubuntu linux redhat Redhat linuxmint [root@localhost test]# cat linux Redhat [root@localhost test]# cat | grep -f hnlinux ubuntu linux Redhat linuxmint [root@localhost test]#说明:输出文件中含有从文件中读取出的关键词的内容行 实例3:从文件中读取关键词进行搜索 且显示行号 命令:cat | grep -nf 输出:复制代码 代码如下:[root@localhost test]# cat hnlinux ubuntu ubuntu linux redhat Redhat linuxmint [root@localhost test]# cat linux Redhat [root@localhost test]# cat | grep -nf 1:hnlinux 4:ubuntu linux 6:Redhat 7:linuxmint [root@localhost test]#说明:输出文件中含有从文件中读取出的关键词的内容行,并显示每一行的行号 实例5:从文件中查找关键词 命令:grep linux 输出:复制代码 代码如下:[root@localhost test]# grep linux hnlinux ubuntu linux linuxmint [root@localhost test]# grep -n linux 1:hnlinux 4:ubuntu linux 7:linuxmint [root@localhost test]#实例6:从多个文件中查找关键词 命令:grep linux 输出:复制代码 代码如下:[root@localhost test]# grep -n linux :1:hnlinux :4:ubuntu linux :7:linuxmint :1:linux [root@localhost test]# grep linux :hnlinux :ubuntu linux :linuxmint :linux [root@localhost test]#说明:多文件时,输出查询到的信息内容行时,会把文件的命名在行最前面输出并且加上:作为标示符 实例7:grep不显示本身进程 命令:复制代码 代码如下:ps aux|grep /[s]sh ps aux | grep ssh | grep -v grep输出:复制代码 代码如下:[root@localhost test]# ps aux|grep ssh root 2720 0.0 0.0 1212 ? Ss Nov02 0:00 /usr/sbin/sshd root 0.0 0.0 3288 ? Ss 19:53 0:00 sshd: a href=mailto:root@pts/0root@pts/0/a root 0.0 0.0 764 pts/0 S+ 20:31 0:00 grep ssh [root@localhost test]# ps aux|grep /[s]sh] [root@localhost test]# ps aux|grep /[s]sh root 2720 0.0 0.0 1212 ? Ss Nov02 0:00 /usr/sbin/sshd root 0.0 0.0 3288 ? Ss 19:53 0:00 sshd: a href=mailto:root@pts/0root@pts/0/a [root@localhost test]# ps aux | grep ssh | grep -v grep root 2720 0.0 0.0 1212 ? Ss Nov02 0:00 /usr/sbin/sshd root 0.0 0.0 3288 ? Ss 19:53 0:00 sshd: a href=mailto:root@pts/0root@pts/0/a实例8:找出已u开头的行内容 命令:cat |grep ^u 输出:复制代码 代码如下:[root@localhost test]# cat |grep ^u ubuntu ubuntu linux [root@localhost test]#实例9:输出非u开头的行内容 命令:cat |grep ^[^u] 输出:复制代码 代码如下:[root@localhost test]# cat |grep ^[^u] hnlinux redhat Redhat linuxmint [root@localhost test]#实例10:输出以hat结尾的行内容 命令:cat |grep hat$ 输出:复制代码 代码如下:[root@localhost test]# cat |grep hat$ redhat Redhat [root@localhost test]#实例11: 命令: ifconfig eth0|grep [0-9]/{1,3/}/.[0-9]/{1,3/}/.[0-9]/{1,3/}/.[0-9]/{1,3/} 输出:复制代码 代码如下:[root@localhost test]# ifconfig eth0|grep [0-9]/{1,3/}/.[0-9]/{1,3/}/.[0-9]/{1,3/}/.[0-9]/{1,3/} inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0 [root@localhost test]# ifconfig eth0|grep -E ([0-9]{1,3}/.){3}[0-9] inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0 [root@localhost test]#实例12:显示包含ed或者at字符的内容行 命令:cat |grep -E ed|at 输出:复制代码 代码如下:[root@localhost test]# cat |grep -E peida|com [root@localhost test]# cat |grep -E ed|at redhat Redhat [root@localhost test]#实例13:显示当前目录下面以 结尾的文件中的所有包含每个字符串至少有7个连续小写字符的字符串的行 命令:grep [a-z]/{7/} * 输出:复制代码 代码如下:[root@localhost test]# grep [a-z]/{7/} * :hnlinux :linuxmint [root@localhost test]#

grep命令

grep命令是一个强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

正则表达式是描述一组字符串的一个模式,正则表达式可以是一些纯文本文字,也可以是用来产生模式的一些特殊字符。

grep命令在每一个文件或特定输出中搜索特定的模式,当使用grep时,会输出跟指定模式匹配的每一行,但是使用grep命令并不改变文件中的内容。

如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为-,则grep指令会从标准输入设备读取数据。

语法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]。

参数:

-a或--text :不要忽略二进制的数据。

-A<显示行数>或--after-context=<显示行数>:除了显示符合范本样式的那一列之外,并显示该行之后的内容。

-b或--byte-offset :在显示符合样式的那一行之前,标示出该行第一个字符的编号。

-B<显示行数>或--before-context=<显示行数>:除了显示符合样式的那一行之外,并显示该行之前的内容。

-c或--count :计算符合样式的列数。

-C<显示行数>或--context=<显示行数>或-<显示行数>:除了显示符合样式的那一行之外,并显示该行之前后的内容。

-d <动作>或--directories=<动作>:当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。

-e<范本样式>或--regexp=<范本样式>:指定字符串做为查找文件内容的样式。

-E或--extended-regexp :将样式为延伸的正则表达式来使用。

-f<规则文件>或--file=<规则文件>:指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。

-F或--fixed-regexp :将样式视为固定字符串的列表。

-G或--basic-regexp :将样式视为普通的表示法来使用。

-h或--no-filename :在显示符合样式的那一行之前,不标示该行所属的文件名称。

-H或--with-filename :在显示符合样式的那一行之前,表示该行所属的文件名称。

-i或--ignore-case :忽略字符大小写的差别。

-l或--file-with-matches :列出文件内容符合指定的样式的文件名称。

-L或--files-without-match :列出文件内容不符合指定的样式的文件名称。

-n或--line-number :在显示符合样式的那一行之前,标示出该行的列数编号。

-o或--only-matching :只显示匹配PATTERN部分。

-q或--quiet或--silent :不显示任何信息。

-r或--recursive :此参数的效果和指定"-d recurse参数相同。

-s或--no-messages :不显示错误信息。

-v或--invert-match :显示不包含匹配文本的所有行。

-V或--version :显示版本信息。

-w或--word-regexp :只显示全字符合的列。

-x --line-regexp :只显示全列符合的列。

-y :此参数的效果和指定"-i参数相同。

linux中grep命令的使用

linux中grep命令的使用grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 Unix的grep家族包括grep、egrep和fgrep。 grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。 grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 ps -ef | grep httpd :检查httpd进程是否存在ps -aux |awk $2~//过滤可以用ps -aux |awk $2!~// grep 2567会显示出现2567这个字符串的所有行 ; | 这是一个管道,把输出的结果当作输入送给下一个命令。 awk和sed比grep强大多了,在讲unix的书上grep一般是略带提的,但awk和sed就会着重讲。 查找etc目录下含有字符串“wl0505”的文件:find /etc -name * |xargs grep wl0505~/thefilegrep -rn wl0505 /etc/*find / -name *.* | xargs grep wl0505 /home/filename*.*是文件名和扩展名,是把结果重定向到后面路径的文件中去,不在终端上显示了。 * 表示匹配带*这个字符的行* 表示 找出带有*的文件 并打印行 find ./ -maxdepth 1 | grep *find ./ -maxdepth 1 | grep *这两个命令才是等价的 对于 grep来讲 他只接受正则表达式匹配 * ? 这些字符需要加转义符linux下的find与grep命令的功能不同。 find 命令用于从目录树中查找与搜索条件匹配的文件;grep 命令用于查找输入流中包含模板文本的行。 find 命令常结合grep命令使用, 以对搜索结果做进一步的筛选匹配目录/cpl下所有(递归查找)以#开头的文件:OCS101:~/cpl # grep -r ^# ../fk.c:#include./fk.c:#include./flower2.c:#include./flower2.c:#include./recursive_flower.c:#include./recursive_flower.c:#include./recursive_flower.c:#include./recursive_flower.c:#define m 8./flower.c:#include./flower.c:#include./flower.c:#include./flower.c:#define N 1e8匹配目录/cpl下所有(递归查找)以}结尾的文件:OCS101:~/cpl # grep -r ^} ../fk.c:}./fk.c:}./fk.c:}./:}./flower2.c:}./flower2.c:}./flower2.c:}./recursive_flower.c:}./recursive_flower.c:}./recursive_flower.c:}./recursive_flower.c:}./flower.c:}./flower.c:}./flower.c:}./flower.c:}./flower.c:}表达符集^锚定行的开始 如:^grep匹配所有以grep开头的行。 $锚定行的结束 如:grep$匹配所有以grep结尾的行。 .匹配一个非换行符的字符如:gr.p匹配gr后接一个任意字符,然后是p。 *匹配零个或多个先前字符 如: *grep (注意*前有空格)匹配所有零个或多个空格后紧跟grep的行,需要用egrep 或者grep带上 -E 选项。 .*一起用代表任意字符。 []匹配一个指定范围内的字符,如[Gg]rep匹配Grep和grep。 [^]匹配一个不在指定范围内的字符,如:[^A-FH-Z]rep匹配不包含A-F和H-Z的一个字母开头,紧跟rep的行。 (..)标记匹配字符,如(love),love被标记为1。 锚定单词的开始,如:锚定单词的结束,如grep匹配包含以grep结尾的单词的行。 x{m}重复字符x,m次,如:o{5}匹配包含5个o的行。 x{m,}重复字符x,至少m次,如:o{5,}匹配至少有5个o的行。 x{m,n}重复字符x,至少m次,不多于n次,如:o{5,10}匹配5--10个o的行。 w匹配文字和数字字符,也就是[A-Za-z0-9],如:Gw*p匹配以G后跟零个或多个文字或数字字符,然后是p。 Ww的反置形式,匹配一个或多个非单词字符,如点号句号等。 b单词锁定符,如: bgrepb只匹配grep。 [1]用于egrep和 grep -E的元字符扩展集+匹配一个或多个先前的字符。 如:[a-z]+able,匹配一个或多个小写字母后跟able的串,如loveable,enable,disable等。 ?匹配零个或一个先前的字符。 如:gr?p匹配gr后跟一个或没有字符,然后是p的行。 a|b|c匹配a或b或c。 如:grep|sed匹配grep或sed()分组符号,如:love(able|rs)ov+匹配loveable或lovers,匹配一个或多个ov。 x{m},x{m,},x{m,n}作用同x{m},x{m,},x{m,n}POSIX字符类为了在不同国家的字符编码中保持一至,POSIX(The Portable Operating System Interface)增加了特殊的字符类,如[:alnum:]是A-Za-z0-9的另一个写法。 要把它们放到[]号内才能成为正则表达式,如[A- Za-z0-9]或[[:alnum:]]。 在linux下的grep除fgrep外,都支持POSIX的字符类。 [:alnum:]文字数字字符[:alpha:]文字字符[:digit:]数字字符[:graph:]非空字符(非空格、控制字符)[:lower:]小写字符[:cntrl:]控制字符[:print:]非空字符(包括空格)[:punct:]标点符号[:space:]所有空白字符(新行,空格,制表符)[:upper:]大写字符[:xdigit:]十六进制数字(0-9,a-f,A-F)命令选项-?同时显示匹配行上下的?行,如:grep -2 pattern filename同时显示匹配行的上下2行。 -a, --text等价于匹配text,用于(Binary file (standard input) matches)报错-b,--byte-offset打印匹配行前面打印该行所在的块号码。 -c,--count只打印匹配的行数,不显示匹配的内容。 -f File,--file=File从文件中提取模板。 空文件中包含0个模板,所以什么都不匹配。 -h,--no-filename当搜索多个文件时,不显示匹配文件名前缀。 -i,--ignore-case忽略大小写差别。 -q,--quiet取消显示,只返回退出状态。 0则表示找到了匹配的行。 -l,--files-with-matches打印匹配模板的文件清单。 -L,--files-without-match打印不匹配模板的文件清单。 -n,--line-number在匹配的行前面打印行号。 -s,--silent不显示关于不存在或者无法读取文件的错误信息。 -v,--revert-match反检索,只显示不匹配的行。 -w,--word-regexp如果被和引用,就把表达式做为一个单词搜索。 -R, -r, --recursive递归的读取目录下的所有文件,包括子目录。 比如grep -R pattern test会在 test 及其子目录下的所有文件中,匹配 pattern。 -V,--version显示软件版本信息。 实例要用好grep这个工具,其实就是要写好正则表达式,所以这里不对grep的所有功能进行实例讲解,只列几个例子,讲解一个正则表达式的写法。 $ ls -l | grep ^a通过管道过滤ls -l输出的内容,只显示以a开头的行。 $ grep test d*显示所有以d开头的文件中包含test的行。 $ grep test aa bb cc显示在aa,bb,cc文件中匹配test的行。 $ grep [a-z]{5} aa显示所有包含每个字符串有5个连续小写字符的字符串的行。 $ grep w(es)t.*1 aa如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(1),找到就显示该行。 如果用egrep或grep -E,就不用号进行转义,直接写成w(es)t.*1就可以了。 注意在某些机器上,要使用-E参数才能够进行逻辑匹配(详见下)grep a|b (匹配包含字符样式为a|b的行)grep -E a|b (匹配包含字符样式为a或b的行)man grep里面关于-E参数的说明是-ETreats each pattern specified as an extended regular expression (ERE). A NULL value for the ERE matches : The grep command with the -E flag is the same as the egrep command, except that error and usage messagesare different and the -s flag functions differently.拓展命令egrep 命令,搜索文件获得模式。 egrep 命令会在输入文件(缺省值为标准输入)中搜索与用 Pattern 参数指定的模式相匹配的行。 这些模式是完整的正则表达式就像在 ed 命令中的那样(除了 (反斜杠)和 (双反斜杠))。 下列规则也应用于 egrep 命令:* 一个正则表达式后面带一个 + (加号)会匹配一个或多个的正则表达式。 * 一个正则表达式后面带一个 ? (问号)会匹配零个或一个该正则表达式。 * 由 | (竖线)或者换行符隔开的多个正则表达式会匹配与任何一个正则表达式所匹配的字符串。 * 一个正则表达式可以被包括在“()”(括弧)中进行分组。 换行符将不会被正则表达式匹配。 运算符的优先顺序是 [, ], *, ?, +, 合并, | 和换行符。 注意: egrep 命令与 grep 命令带 -E 标志是一样的,除了错误消息和使用消息不同以及 -s 标志的功能不同之外。 egrep 命令会显示包含该匹配行的文件,如果您指定了多于一个 File 参数的话。 对 shell 有特殊含义的字符($, *, [, |, ^, (, ), ) 出现在 Pattern 参数中时必须带双引号。 如果 Pattern 参数不是简单字符串,通常必须用单引号将整个模式括起来。 在表达式中比如 [a-z],减号表示通过当前整理序列。 整理序列可以定义等价的类以供在字符范围中使用。 它使用了快速确定性的算法,有时需要外部空间。 [2]fgrep命令,为文件搜索文字字符串。 fgrep命令搜索 File 参数指定的输入文件(缺省为标准输入)中的匹配模式的行。 fgrep命令特别搜索 Pattern 参数,它们是固定的字符串。 如果在 File 参数中指定一个以上的文件fgrep命令将显示包含匹配行的文件。 fgrep命令于 grep 和 egrep 命令不同,因为它搜索字符串而不是搜索匹配表达式的模式。 fgrep命令使用快速的压缩算法。 $, *, [, |, (, ) 和 等字符串被fgrep命令按字面意思解释。 这些字符并不解释为正则表达式,但它们在 grep 和 egrep 命令中解释为正则表达式。 因为这些字符对于 shell 有特定的含义,完整的字符串应该加上单引号(‘ ... ’)。 如果没有指定文件,fgrep命令假定标准输入。 一般,找到的每行都复制到标准输出中去。 如果不止一个输入文件,则在找到的每行前打印文件名。

若对本页面资源感兴趣,请点击下方或右方图片,注册登录后

搜索本页相关的【资源名】【软件名】【功能词】或有关的关键词,即可找到您想要的资源

如有其他疑问,请咨询右下角【在线客服】,谢谢支持!

使用grep命令的强大正则表达式功能 (使用grep命令查找文件内容) 第2张

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~
欢迎你第一次访问网站!