Linux shell文本过滤

Posted 庖丁解牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux shell文本过滤相关的知识,希望对你有一定的参考价值。

正则表达式
--概念:一种用来描述文本模式的特殊语法
--由普通字符(例如:字符a到z),以及特殊字符(元字符,如/*?等)组成匹配的字符串
--文本过滤工具在某种模式之下,都支持正则表达式
--基本元字符集及其含义
    ^    只匹配行首
    $    只匹配行尾
    *    一个单字符后紧跟*,匹配0个或多个此单字符
    []    匹配[]内字符。可以使一个单字符,也可以是字符序列。可以使用"-"表示[]内字符序列范围,如用[1-5]代替[12345]
    \    用来屏蔽一个元字符的特殊含义。因为有时在shell中一些元字符有特殊含义。"\"可以使其失去应有意义
    .    匹配任意单字符
    pattern\{n\}    用来匹配pattern出现次数,n为次数,(这里的大括号需要转义,和javascript不同)
    pattern\{n,\}    含义同上,但次数最少为n
    pattern\{n,m\}    含义同上,但pattern出现次数在n与m之间
--特殊:"^$"匹配空行    "^.$"匹配包含一个字符的行
--shell中似乎没有javascript中的\S,\w等元字符

 


以上是关于Linux shell文本过滤的主要内容,如果未能解决你的问题,请参考以下文章

Shell脚本中常用的文本过滤命令

shell编程文本处理工具

将base64编码的Textmate片段过滤回文本

linux12shell编程 --> 三剑客之grep命令

Shell文本处理工具(Linux三剑客 grep sed awk )

通过 Emacs 中的 shell 命令过滤文本