正则表达式笔记(二)

工具连接

示例代码

匹配单词

\bA.{5}T\b

  • 简写式\b匹配单词边界,不消耗任何字符;
  • 字符A和T限定了字符序列的首尾字母;
  • .{5}匹配任意五个字符;
  • 简写式\b匹配单词的另一个边界。

用sed为文本加标签

echo Hello | sed s/Hello/Goodbye/

运行的过程应该如下:

  • echo命令将在标准输出设备(通常是屏幕)中打印单词Hello,竖线符(|)将打印内容通过管道传到之后的sed命令; + 管道将echo的输出转为sed的输入;
  • sed的s命令将单词Hello变为Goodbye,而Goodbye就显示在屏幕上了。

运行命令
sed -n 's/^/<h1>/;s/$/<\/h1>/p;q' rime.txt

而输出就是:
<h1>THE RIME OF THE ANCYENT MARINERE, IN SEVEN PARTS.</h1>
以下是正则表达式处理器的工作过程解析。

  • 首先调用sed程序。
  • sed默认的操作是直接复制每行输入并输出,-n选项覆盖了该默认操作。之所要覆盖默认操作,是因为我们只想让正则表达式影响第1行。 +s/^/<h1>/在行的开头(^)添加<h1>标签。
  • 分号(;)用于分隔命令。
  • s/$/<\/h1>/在行的结尾($)添加</h1>标签。
  • 命令p会打印受影响的那一行(第1行)。与-n不同,后者会打印所有行。 •
  • 最后命令q会结束程序,这样sed程序就只会处理第1行。
  • 所有的操作都是针对rime.txt文件执行的。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文承接之前写的三十分钟学会AWK一文,在学习完AWK之后,趁热打铁又学习了一下SED,不得不说这两个工具真的堪称...
    mylxsw阅读 4,417评论 3 74
  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    485b1aca799e阅读 1,125评论 0 0
  • 这篇是当初看完Chinaunix论坛的帖子“抛砖引玉----翻译加注sed1line”的笔记,最近无聊从Evern...
    magic5650阅读 1,189评论 0 4
  • sed篇总共分成6章:(简书版) Sed&awk笔记之sed篇:简单介绍 Sed&awk笔记之sed篇:模式空间与...
    magic5650阅读 842评论 0 3
  • 提到魏晋,我想,最与之契合的两个字便是“风度”,的确,从三曹七子,到竹林七贤,到陶渊明,再到大小谢,确实是担得起“...
    雕花楼里晒白衣阅读 5,410评论 1 14