grep 及 正则表达式

文本查找的需要:

grep:根据模式搜索文本,并将符合模式的文本行显示出来。
Pattern:文本字符和正则表达式的元字符组合而成的匹配条件

grep [options] PATTERN [FILES]

  1. -i 忽略大小写
  2. –color 显示标注颜色
  3. -v 显示没有被模式匹配到的行
  4. -o 只显示被匹配到的字符串

*:任意长度的任意字符
?:任意单个字符
[]:指定范围内的
[^]:指定范围外的

正则表达式(regular expression)(REGEXP)

元字符:
.: 匹配任意单个字符
?:任意单个字符
[]:指定范围内的任意单个字符
[^]:指定范围外的任意单个字符
字符集合:[:digit:]数字,[:lower:]小写字母,[:upper:]大写字母,[:punct:]标点符号,[:space:]空格,[:alpha:]所有字母,[:alnum:]字母数字下划线,

匹配次数(贪婪模式:尽可能长的去匹配):
*:匹配其前面的字符任意次
a,ab,aab,acb,adb,amnb
a*b
只能匹配到:b,ab,aab

.*:匹配任意长度的任意字符
能匹配到:ab,aab,acb,adb,amnb

\?:匹配其前面的字符1次或0次:

{m,n}:匹配其前面的字符至少m次,至多n次

位置锚定:
^:锚定行首,此字符后面的任意内容必须出现在行首
$:锚定行尾,此字符前面的任意内容必须出现在行尾
^$:空白行

\<或\b:锚定词首,其后面的任意字符必须作为单词首部出现
>或\b:锚定词尾,其前面的任意字符必须作为单词尾部出现

分组:
()
(ab)*:包含任意个ab的字符串。
\1:后向引用

grep:使用基本正则表达式定义的模式来过滤文本的命令:
-E:使用扩展正则表达式
-A (数值n):显示被匹配到的行以及其下面的n行
-B (数值n):显示被匹配到的行以及其上面的n行
-C (数值n):显示被匹配到的行以及其上面的n行和下面的n行

扩展正则表达式

字符匹配:
.:
[]:
[^]:

次数匹配:
*:其前字符任意次
?:其前字符0次或1次
+:匹配其前字符至少1次
{m,n}(无需使用反斜线):匹配其前面的字符至少m次,至多n次

位置锚定:
^:
$:
\<:
>:

分组:
():分组
\1,\2,\3,…

或者
|:or的意思
(C|c)at:小写或者大写C后接着at。
找出1-255之间的数字:
$:\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])>

grep -E = egrep
$:ipconfig | egrep –color

grep,egrep,
fgrep:(fast)不支持 正则表达式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: grep是一个在Unix和类Unix操作系统中常用的命令行实用程序,用于在文件中查找匹配的字符串。正则表达式是一种用于描述字符串模式的语言,可以用于匹配、搜索、替换等操作。在grep实训中,我们学习了如何使用grep命令和正则表达式来查找、过滤和处理文本文件中的数据。通过实践,我们可以更深入地了解grep正则表达式的使用方法,提高我们的文本处理能力。 ### 回答2: GREP是一种非常有用的命令行工具,可以根据指定的模式搜索文本文件并输出匹配行。正则表达式是一种模式匹配语言,可以描述各种文本模式,并用于在文本中查找和操作这些模式。在GREP操作中,正则表达式被用作搜索模式。 在实际应用中,GREP正则表达式可以帮助我们快速地找到文件中所需的信息,如查找特定单词或筛选出特定行。当我们处理非常大的数据时,这些操作通常比手动查找更加高效快捷。因此,掌握这两种工具是非常重要的。 在GREP正则表达式实训中,我们需要掌握以下内容: 1.正则表达式的基本语法 正则表达式由基础字符(如字母和数字)和特殊字符(如^、$、*等)组成。学习正则表达式的基础语法可以帮助我们快速地编写匹配模式。 2.GREP命令的基本使用 GREP命令是一个非常强大的命令,可以用来搜索文件中的文本。我们需要掌握该命令的基本语法和参数,并学习如何在不同环境下使用。 3.使用正则表达式进行搜索 在GREP操作中,正则表达式被用作搜索模式。因此,我们需要学习如何编写正则表达式来搜索特定的模式。 4.筛选与替换 除了搜索之外,GREP正则表达式还可以用来筛选和替换文本。掌握这些操作可以帮助我们快速地处理大量数据。 总之,GREP正则表达式实训是非常重要的一项技能。掌握这些工具可以帮助我们快速地处理大量数据,提高我们的工作效率。 ### 回答3: grep是一种用于文本搜索的命令行工具,它可以与正则表达式一起使用。正则表达式是一种描述字符模式的语言,它可以用来匹配和搜索文本中的特定模式。 正则表达式的语法比较复杂,但是掌握一些基本的规则可以让我们在搜索和替换文本时更加高效和精确。比如,可以使用通配符来表示任意字符或一组字符,使用圆括号来表示组合模式,使用方括号来表示字符集合,使用反斜杠来转义特殊字符等等。 在实际应用中,grep正则表达式可以用来实现各种功能,比如查找特定字符串或单词、替换文本、计算文本中匹配模式的数量、过滤文本等等。它们可以在Linux和Unix系统中广泛应用,比如在命令行中搜索日志文件、过滤邮件列表、查找配置文件等等。 在实际操作中,我们可以使用grep命令和一些选项来指定搜索的模式和搜索的范围,比如使用-r选项来在一个目录及其子目录中搜索,在搜索结果中使用-n选项来显示行号,在搜索结果中使用-c选项来显示匹配行的数量等等。对于更加复杂的搜索和替换操作,我们可以使用sed和awk等工具来进一步处理文本数据。 总的来说,grep正则表达式实训对于加深对Linux系统和命令行的理解和应用非常有帮助,尤其对于需要处理文本数据的运维和开发人员来说非常重要。掌握了这些工具和技能,我们可以更加高效和精确地处理文本数据,提高工作效率和数据质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值