Bash中的通配符

'?'
匹配一个任意字符
'*'
匹配0个或任意多个字符,也就是可以匹配任何内容
'[]'
匹配括号中任意一个字符。例如[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c
'[-]'
匹配括号中任意一个字符,'-'代表一个范围,例如[a-z]代表匹配一个小写字母
'[^]'
逻辑非,表示匹配不是括号里面的一个字符,例如[^0-9]代表匹配一个不是数字的字符
[root@ssgao1987 ssgao]# ls dzp*
dzp  dzp2  dzp234
[root@ssgao1987 ssgao]# ls dzp?
dzp2
[root@ssgao1987 ssgao]# ls dzp[0-9]
dzp2
[root@ssgao1987 ssgao]# ls dzp[0-9]*
dzp2  dzp234

Bash中其他特殊符号

''
单引号,在单引号中所有的特殊符号,比如'$'或'·'(反引号)都没有特殊含义
""
双引号,在双引号中特殊符号都没有特殊含义,但是"$","`","\"是例外,
拥有"调用变量的值","引用命令"和"转义符"的特殊含义
'``'
反引号。反引号括起来的内容是系统命令,在Bash中会先执行它。和$()作用一样,不过推荐使用$(),因为反引号非常容易出错。
'$()'
和反引号作用一样,用来引用系统命令
'#'
在Shell脚本中,#开头的行代表注释
'$'
用于调用变量的值,如需要调用变量name的值时,需要$name方式得到变量的值
'\'
转义符,跟在\之后的特殊符号将失去特殊含义,变为普通字符。如\$将输出’$‘符号,而不当做是变量引用
[root@ssgao1987 ssgao]# name=ssgao
[root@ssgao1987 ssgao]# echo $name
ssgao
[root@ssgao1987 ssgao]# echo '$name'
$name
[root@ssgao1987 ssgao]# echo "$name"
ssgao
-------------------------
[root@ssgao1987 ssgao]# command=ls
[root@ssgao1987 ssgao]# echo "$command"
ls
[root@ssgao1987 ssgao]# command=`ls` (单引号)
[root@ssgao1987 ssgao]# echo "$command"
dzp
dzp2
dzp234
------------------------
[root@ssgao1987 ssgao]# command=$(ls)
[root@ssgao1987 ssgao]# echo "command"
command
[root@ssgao1987 ssgao]# echo "$command"
dzp
dzp2
dzp234

shell 通配符的更多相关文章

  1. Linux Shell 通配符、元字符、转义符【转帖】

    作者:程默 说到shell通配符(wildcard),大家在使用时候会经常用到.下面是一个实例: 1   1 2 3 4 [chengmo@localhost ~/shell]$ ls a.txt  ...

  2. Linux shell 通配符 / glob 模式

    概念 glob 模式(globbing)也被称之为 shell 通配符,名字的起源来自于 Unix V6 中的 /etc/glob (详见 man 文档).glob 是一种特殊的模式匹配,最常见的是通 ...

  3. Unix Shell 通配符、转义字符、元字符、特殊字符

    shell通配符: * 匹配0或多个字符 a*b a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, a01b, ab等 ? 匹配任意一个字符 a?b a与b之间有且只有一个字符 ...

  4. 自动化运维之shell通配符,转义符,和元字符(二)

    1 shell通配符 通配符看起来有点象正则表达式语句,但是它与正则表达式不同的,不能相互混淆.把通配符理解为shell特殊代号字符就可. 二.shell元字符 shell除了有通配符之外,由shel ...

  5. Shell 通配符、元字符、转义符*****

    说到shell通配符(wildcard),大家在使用时候会经常用到.下面是一个实例: 1   1 2 3 4 [chengmo@localhost ~/shell]$ ls a.txt  b.txt  ...

  6. 【python cookbook】【字符串与文本】3.利用shell通配符做字符串匹配

    问题:当工作在Linux shell下时,使用常见的通配符模式(即,*.py.Dat[0-9]*.csv等)来对文本做匹配 解决方案:fnmatch模块提供的两个函数fnmatch().fnmatch ...

  7. Python: 用shell通配符匹配字符串,fnmatch/fnmatchcase

    问题:想使用Unix Shell 中常用的通配符(比如*.py , Dat[0-9]*.csv 等) 去匹配文本字符串 解决方案: 1. fnmatch 模块提供了两个函数—— fnmatch() 和 ...

  8. linux shell通配符及if语句判断

    $# 是传给脚本的参数个数 $0 是脚本本身的名字$1 是传递给该shell脚本的第一个参数$2 是传递给该shell脚本的第二个参数$@ 是传给脚本的所有参数的列表$* 是以一个单字符串显示所有向脚 ...

  9. shell通配符、命令代换、引号

    1.通配符 (1)* :匹配多个任意字符 (2)? :匹配一个任意字符 (3)[若干字符] :匹配方括号中任意一个字符的一次出现 2.命令代换:反引号``或者$() 例1:vim test_th.sh ...

随机推荐

  1. tensorflow学习笔记一------下载安装,配置环境(基于ubuntu16.04 pycharm)

    一,安装TensorFlow 安装所有必备工具 sudo apt-get install python-pip python-dev python-virtualenv 安装TensorFlow su ...

  2. 力扣(LeetCode) 27. 移除元素

    给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...

  3. EasyUI datebox 设置不可编辑后再次修改为可编辑失效的解决

    工作中遇到的问题,折腾了好久: 如下图: 需求:当状态发生改变后,如果状态是未核实 ,  核实人 核实时间 核实结果 核实说明  均为不可编辑状态 具体js代码如下: //状态改变    $('#js ...

  4. Java原子操作类AtomicInteger应用场景

    Java中有那么一些类,是以Atomic开头的.这一系列的类我们称之为原子操作类.以最简单的类AtomicInteger为例.它相当于一个int变量,我们执行Int的 i++ 的时候并不是一个原子操作 ...

  5. Spring Boot入门第三天:配置日志系统和Druid数据库连接池。

    原文链接 一.日志管理 1.在application.properties文件中加入如下内容: logging.level.root=WARN logging.level.org.springfram ...

  6. Python 编程快速上手 第八章总结

    在下面函数中的()中,可为相对路径,也可为绝对路径. 获知当前目录,改变当前目录,查看当前目录 更改当前目录:os.getcwd() 改变当前目录:os.chdir() 查看当前目录:os.listd ...

  7. scala文件读取报错“java.nio.charset.MalformedInputException: Input length = 1”

    今天写spark程序的时候遇到了一个问题就是,读取文件的时候报了一个错:“Exception in thread "main" java.nio.charset.Malformed ...

  8. H.264开源解码器评测

    转自:http://wmnmtm.blog.163.com/blog/static/38245714201142883032575/ 要播放HDTV,就首先要正确地解开封装,然后进行视频音频解码.所以 ...

  9. catalan 递推

    http://www.cnblogs.com/zyt1253679098/p/9190217.html

  10. 02linux 基本命令

    系统环境变量的设置 以nginx为例: 方式一: ~/.bash_profile  这是个人的 /etc/profile 为系统的环境变量 vim /etc/profile.d/nginx.sh #在 ...