美文网首页
Shell中的匹配

Shell中的匹配

作者: 水平 | 来源:发表于2016-11-05 22:06 被阅读23次
  1. shell支持的通配符
    shell支持一组通配符用于处理数据,但是要和正则表达式区别开来。shell的通配符实现的功能比较简单,常用于文件名匹配,远不及正则表达式强大和广泛。不过对于日常使用Linux还是有非常大的帮助的。

符号 意义
* 代表『 0 个到无穷多个』任意字符
? 代表『一定有一个』任意字符
[ ] 同样代表『一定有一个在括号内』的字符(非任意字符)。例如 [abcd] 代表『一定有一个字符, 可能是 a, b, c, d 这四个任何一个』
[ - ] 若有减号在中括号内时,代表『在编码顺序内的所有字符』。例如 [0-9] 代表 0 到 9 之间的所有数字,因为数字的语系编码是连续的!
[^ ] 若中括号内的第一个字符为指数符号 (^) ,那表示『反向选择』,例如 [^abc] 代表 一定有一个字符,只要是非 a, b, c 的其他字符就接受的意思。

  1. shell中的特殊字符(以bash为例)
    通配符常用于文件名匹配,而特殊字符的则协助shell完成各种具体工作。下表取自《鸟哥的linux私房菜》

符号 内容

批注符号:这个最常被使用在 script 当中,视为说明!在后的数据均不运行

\ 跳脱符号:将『特殊字符或通配符』还原成一般字符
| 管道 (pipe):分隔两个管线命令的界定(后两节介绍);
; 连续命令下达分隔符:连续性命令的界定 (注意!与管线命令并不相同)
~ 用户的家目录
$ 取用变量前导符:亦即是变量之前需要加的变量取代值
& 工作控制 (job control):将命令变成背景下工作
! 逻辑运算意义上的『非』 not 的意思!
/ 目录符号:路径分隔的符号
>, >> 数据流重导向:输出导向,分别是『取代』与『累加』
<, << 数据流重导向:输入导向 (这两个留待下节介绍)
' ' 单引号,不具有变量置换的功能
" " 具有变量置换的功能!
两个『 ` 』中间为可以先运行的命令,亦可使用 $( )
( ) 在中间为子 shell 的起始与结束
{ } 在中间为命令区块的组合!

相关文章

  • Shell中的匹配

    shell支持的通配符shell支持一组通配符用于处理数据,但是要和正则表达式区别开来。shell的通配符实现的功...

  • shell命令

    关于shell命令的小记: 1. shell命令grep -E 后可加入正则表达式匹配,python中可用\s匹配...

  • 查看当前shell

    查看当前可使用的shell 最常用的查看shell的命令,但不能实时反映当前shell 环境变量中shell的匹配...

  • shell正则

    1.特殊符号在shell正则中的作用 ^ 匹配正则表达式的开头,或若果在括号中,表示不匹配扩括号内的字符 $ 匹配...

  • python实现 字符串匹配函数

    通配符是 shell 命令中的重要功能, ? 表示匹配任意 1 个字符, *表示匹配 0 个或多个字符。 请使用你...

  • 2020-05-26

    shell通配符 可以匹配任意多个字符? 可以匹配任意一个字符[] 匹配括号中的任意一个字符() 在子she...

  • python字符串和文本

    Python CookBook总结 用Shell 通配符匹配字符串 你想使用Unix Shell 中常用的通配符(...

  • shell字符#%*匹配

    #:左边数第一个 %:右边数第一个 ##:左边数最后一个 %%:右边数最后一个 *:要删除的内容 $ var=Do...

  • Shell基石:模式匹配

    模式匹配在Shell脚本中的运用很广泛。举几个栗子: "三元运算符" 在上述例子中,x=${1:-"hello"}...

  • 【Python进阶】2.3 用Shell通配符匹配字符串 fnm

    2.3 用Shell通配符匹配字符串 问题 你想使用 Unix Shell 中常用的通配符(比如 *.py , D...

网友评论

      本文标题:Shell中的匹配

      本文链接:https://www.haomeiwen.com/subject/ifuguttx.html