(2.13)--13. Linux系统及应用处理文本.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
处理文本 1. grep grep 命令的功能是在文本内容 中查找与指定模式 (pattern )匹配的行,若没有指定文件 名,或者写的是连字符 “-”,则从标准输入设备读取数据。在对文本文件内容数据进行处理 的时候,grep 命令使用频率很高。另外,与之相关的命令还有 egrep 和 fgrep 。egrep 命令等 价于 grep -E ,fgrep 命令等价于 grep -F 。 grep 命令找到与模式 匹配的行就打印输出该行。所以使用 grep 命令的重点是正确的描 述复合要求的模式 ,简单的模式就是要查找的字符串,复杂的模式需要使用正则表达式描述。 正则表达式常用部分基本符号见表 1。 表 1 正则表达式常用部分基本字符 特殊字符 说明 ^ 匹配输入字符串的开始位置 。 $ 匹配输入字符串的结尾位置。 . 匹配任意一个字符。例如 a.b 可以匹配 aab、a_b 、aob,不匹配 accb 。 [...] 枚举列表,例如[0-9]表示任意一个数字,a[bc]d 匹配 abd、acd 。 () 标记子表达式开始和结束位置。 * 匹配前面子表达式零次或多次,例如(ab)*c 可以匹配 c、abc 、abababc 。 + 匹配前面子表达式一次或多次,例如(ab)+c 可以匹配 abc、abababc 。 ? 匹配前面子表达式零次或一次,例如(ab)?c 可以匹配 c、abc 。 {n} n 是一个非负整数,表示匹配 n 次。例如 o{2}可以匹配 food,不匹配 Bob 。 {,n} n 是一个非负整数,表示至少匹配 n 次。o{1,}等价于 o+ ;o{0,}等价于 o* 。 {n,m} m 和 n 均为非负整数 (n=m ),表示最少匹配 n 次且最多匹配 m 次。 正则表达式可以分为基本正则表达式 BRE (Basic Regular Expression)和扩展正则表达 式 ERE (Extended Regular Expression)。扩展表达式支持的元字符更多,可以表达更加复杂 的模式。涉及正则表达式的内容很多,这里仅列举一些常用基本符号 ,更详细全面的正则表 达式知识请参考相关资料学习。 示例 1 提取用户 user01 的账户信息。 grep user01 /etc/passwd user01:x:500:500:user01:/home/user01:/bin/bash 学习使用 grep 的时候,建议增加 “--color”的选项,在输出的行上会用颜色突出显示匹 配的部分,有利于清晰地知道实际匹配了哪些部分。 grep user01 /etc/passwd --color=auto 当频繁使用 grep 命令的时候字符输入量大大增加,为了简化输入,可以使用创建别名。 alias grep=grep --color=auto 之后再执行 grep 命令都带有颜色显 明匹配部分。但是 当前 Bash 退出后别名就失效了, 如果希望固定该别名,可以将上述 alias 命令添加在用户配置文件~/.bashrc 中。 示例 2 提取用户 user01 的账户信息 ,同时显示所在行的行号。 grep -n user01 /etc/passwd 25:user01:x:500:500:user01:/home/user01:/bin/bash 打印行号可以标识输出的行在原始文件中的位置 。 示例 3 提取用户 user01 的账户信息 ,并且将其前 1 行一起显示。 grep -B 1 user01 /etc/passwd chrony:x:498:499::/var/lib/chrony:/sbin/nologin user01:x:500:500::/hom

文档评论(0)

职教中心 + 关注
实名认证
文档贡献者

学高为师,身正为范!

1亿VIP精品文档

相关文档