移动glob 位置
This commit is contained in:
		
							
								
								
									
										38
									
								
								linux/glob.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								linux/glob.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
			
		||||
##  glob 简介
 | 
			
		||||
 | 
			
		||||
`glob` 是用于匹配符合指定模式的文件集合的一种语言, 类似于正则表达式, 但更加简单。
 | 
			
		||||
 | 
			
		||||
**Update-09-22:** 前两天阮一峰老师更新了他的博客,内容讲的就是 `Glob`, 强烈推荐。
 | 
			
		||||
 | 
			
		||||
- [命令行通配符教程 - 阮一峰](https://links.jianshu.com/go?to=http%3A%2F%2Fwww.ruanyifeng.com%2Fblog%2F2018%2F09%2Fbash-wildcards.html)
 | 
			
		||||
 | 
			
		||||
## glob 语法
 | 
			
		||||
 | 
			
		||||
`glob` 的语法很简单:
 | 
			
		||||
 | 
			
		||||
| 通配符         | 描述                                 | 例子                      | 匹配                                      | 不匹配                            |
 | 
			
		||||
| -------------- | ------------------------------------ | ------------------------- | ----------------------------------------- | --------------------------------- |
 | 
			
		||||
| `*`            | 匹配任意数量的任何字符,包括无       | `Law*`                    | `Law`, `Laws`, `Lawyer`                   | `GrokLaw`, `La`, `aw`             |
 | 
			
		||||
| `?`            | 匹配任何 **单个** 字符               | `?at`                     | `Cat`, `cat`, `Bat`, `bat`                | `at`                              |
 | 
			
		||||
| `[abc]`        | 匹配括号中给出的一个字符             | `[CB]at`                  | `Cat`, `Bat`                              | `cat`, `bat`                      |
 | 
			
		||||
| `[a-z]`        | 匹配括号中给出的范围中的一个字符     | `Letter[0-9]`             | `Letter0`, `Letter1` … `Letter9`          | `Letters`, `Letter`, `Letter10`   |
 | 
			
		||||
| `[!abc]`       | 匹配括号中未给出的一个字符           | `[!C]at`                  | `Bat`, `bat`, `cat`                       | `Cat`                             |
 | 
			
		||||
| `[!a-z]`       | 匹配不在括号内给定范围内的一个字符   | `Letter[!3-5]`            | `Letter1`…                                | `Letter3` … `Letter5`, `Letterxx` |
 | 
			
		||||
| `{a..z}`       | 匹配括号中给出的一个字符,等同于[abc] | `{CB}at`                  | `Cat`, `Bat`                              | `cat`, `bat`                      |
 | 
			
		||||
| `{start..end}` | 会匹配连续范围的字符                 | `d{a..d}g`                | `dag`, `dbg`, `dcg`, `ddg`                |                                   |
 | 
			
		||||
|                |                                      | `.{mp{3..4},m4{a,b,p,v}}` | `.mp3` `.mp4` `.m4a` `.m4b` `.m4p` `.m4v` |                                   |
 | 
			
		||||
 | 
			
		||||
## 4. 注意事项
 | 
			
		||||
 | 
			
		||||
通配符有一些使用注意点,不可不知。
 | 
			
		||||
 | 
			
		||||
**(1)通配符是先解释,再执行。**
 | 
			
		||||
 | 
			
		||||
Bash 接收到命令以后,发现里面有通配符,会进行通配符扩展,然后再执行命令。
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
> 作者:永往直前
 | 
			
		||||
> 链接:https://www.jianshu.com/p/d7a97b17ee5a
 | 
			
		||||
> 来源:简书
 | 
			
		||||
> 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 | 
			
		||||
		Reference in New Issue
	
	Block a user