globbing

1.globbing是什么?

globbing表示通配符,BASH支持文件名通配。

2.globbing常用列表及使用心得

序号 符号 使用心得
1 表示任意一个字符,注意与常规的正则表达式的区别。(正则中?表示可选的)
2 *
表示任意长度任意字符,与正则有差异。比如:

globbing中a*表示以a开头,之后是任意长度字符(也就是说*无法作用于前面的a)

而正则中表示a出现>=0次。

从这里可以看出globbing具有一定的局限性,没有正则对模式的强大支持。

3 [...]
支持[],表示取区间中的一个值,与正则一致。如:

[a-z],[A-Z],[0-9]。也支持[^]进行取反。

4 [[:xxx:]]
举例说明,如[:space:]表示空白字符集合,那么[[:space:]]则表示取集合中的一个元素,[^[:space:]]表示非空白字符。

常用的有:

[:space:]  空白字符集

[:punct:]  标点符号集

[:digit:]  数字集,就相当于[0-9]

[:alpha:]  字母集,就相当于[a-zA-Z]

[:lower:]  小写字母集,就相当于[a-z]

[:upper:]  大写字母集,就相当于[A-Z]

[:alnum:]  字母+数字集,就相当于[a-zA-Z0-9]

可以通过man 7 glob来获取帮助。

通过上面的描述也许大家还不知道如何具体操作,看下面就知道了。。。

3.通配实战

下面举个小例子,来帮助大家认识。

[[email protected] test]# ls -l [[:alpha:]]*[[:digit:]]
-rw-r--r-- 1 root root      0 May  9 16:15 A9
-rw-r--r-- 1 root root      0 May  9 16:16 a9

上面表示,查找以字母开头,数字结尾的文件。

globbing,布布扣,bubuko.com

时间: 2024-10-13 03:58:46

globbing的相关文章

shell编程(四)globbing

globbing:文件名通配(整体文件名匹配,而非部分) 匹配模式:元字符 *:匹配任意长度的任意字符 pa*, *pa*, *pa, *p*a* pa, paa, passwd ?:匹配任意单个字符 pa?, ??pa, p?a, p?a? pa, paa, passwd []:匹配指定范围内的任意单个字符 有几种特殊格式: [a-z], [A-Z], [0-9], [a-z0-9] [[:upper:]]:所有大写字母 [[:lower:]]:所有小写字母 [[:alpha:]]:所有字母

globbing、ERE、BRE的比较

在linux中,对资源进行选择的时候,通常都会使用到通配符(globbing).基本正则表达式(Basic Regular Expression)或者扩展正则表达式(Extend Regular Expression),大家肯定都疑惑过,它们在使用时,为什么相同的元字符会表示不同的含义呢?答案其实很简单,在bash环境下是不支持正则表达式的,也就是说那些* + .等之类的都是通配符,而真正支持正则表达式的是grep.sed和awk这些工具.所以在我理解看来,它们貌似一样,都是用来匹配字符的.但在

通配符 Globbing赏析

什么是 Globing? https://www.techopedia.com/definition/14392/globbing Definition - What does Globbing mean? Globbing is the process of using wildcard characters to request or evaluate sets of files with the same partial names or sets of characters. Users

curl 错误 [globbing] illegal character in range specification at pos

现象 在使用curl 进行ipv6请求的时候 curl -v "http://[1:1::1]/test.html" 发生了一个错误,报错是 [globbing] illegal character in range specification at pos 直接谷歌,发现是在有中括号或大括号的时候,需要添加-g参数 curl 参数 在以下选项中,(H) 表示仅适用 HTTP/HTTPS ,(F) 表示仅适用于 FTP --anyauth 选择 "any" 认证方法

linux shell通配符(globbing)

通配符是由shell处理的, 它只会出现在 命令的"参数"里(它不用在命令名称里, 也不用在操作符上).当shell在"参数"中遇到了通配符时,shell会将其当作路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行代换(路径扩展):否则就将该通配符作为一个普通字符传递给"命令",然后再由命令进行处理.总之,通配符 实际上就是一种shell实现的路径扩展功能.在 通配符被处理后, shell会先完成该命令的重组,然后再继续处理重组后

shell中各种括号的作用

小括号里是命令大括号是变量值   一.小括号,圆括号() 1.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格. ②命令替换.等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令.有些shell不支持,如tcsh. ③用于初始化数组.如:array=(a b

8-23 Bash特性学习

8-23 linux文件管理常用命令和Bash特性 一.Linux目录配置标准和文件类型 1.Linux 目录配置标准FHS(Filesystem Hierarchy Standard) FHS: /boot: 引导文件存放目录,例如kernel(vmlinuz).bootloader(grub, grub2): /bin: binary,供用户使用的基本的命令:OS启动即会用到程序: /sbin:管理类的基本命令: /lib: 基本共享库:内核模块: /lib64:x86_64系统的共享库:

CMakeListx.txt 编辑语法学习

已hello.cpp为源文件,构建一个CMakeLists.txt cmake_minimum_required(VERSION 2.8) project(hello) add_executable(hello hello.cpp) 在目录中的build 文件夹中进行cmake ..和make ,就可以编译源文件生成可运行文件. cmake的常用命令: project 命令 语句 : project(<projectname> [languageName1 languageName2 - ]

linux系统方面的知识

1.什么是Linux? 组成部分:硬件.内核.lib库.应用程序 硬件:工作中真正工作的组成部分是硬件 linux内核(kernel):管理硬件 Linux团队管理的版本 lib库:封装内核接口,提供系统调用 应用程序:和用户交互,提供某项特定的服务 GNU:在linux内核之上研发了很多常见的应用程序,并且把这些应用程序开源了 2.Linux发行版? RedHat:按照特定的格式将linux内核.lib库.应用程序,组成一个操作系统,redhat发行版 CentOs:6.6 Ubuntu: 3