使用Unix Shells进行大括号扩展
来源:互联网 发布:淘宝客刷销量有什么用 编辑:程序博客网 时间:2024/06/03 19:58
最近,我发现了一个很大的功能,最近的Shells支持。它被命名为支架扩展。我偶尔使用它,但不知道它的行为和它的力量是什么。
下面是一个例子:
好吧,这很有趣,但它可以用于一个具体的例子?答案是肯定的。假设您需要在同一目录中创建多个文件夹。我知道的最简单的方法是移动到所需的文件夹,然后对每个目录使用mkdir命令:
下面是一个例子:
$ echo I{like,love,hate}chocolateIlikechocolate Ilovechocolate Ihatechocolate
在这个例子中,{like,love,hate}有一个特殊的含义:它是一个由大括号分隔的字符串元素的列表,其中的元素用附加的单词扩展。如输出所示,并取每个String元素通过用其值替换列表来创建一个新单词。好吧,这很有趣,但它可以用于一个具体的例子?答案是肯定的。假设您需要在同一目录中创建多个文件夹。我知道的最简单的方法是移动到所需的文件夹,然后对每个目录使用mkdir命令:
$ cd ~$ mkdir -p Images$ mkdir -p Movies$ mkdir -p Music
以前的命令序列可以写得很快,但需要手指体操使用键盘快捷键。使用支架扩展,前面的示例可以轻松地一行:
$ mkdir -p ~/{Images,Movies,Music}
嵌套支架扩展
大括号列表可以组成。例如,上述示例可以扩展为快速创建文件夹的层次结构:
$ mkdir -p ~/{Images/{Cars,Family,House,Vacations},Movies,Music}
它将在您的主目录中创建以下文件夹:
Images/CarsImages/FamilyImages/HouseImages/VacationsMoviesMusic
生成序列
如果你来自命令式(例如,如果你知道例如C或甚至使用Java循环),你可能熟悉3个参数循环控制表达式。你也知道写是多么无聊,特别是在Shell:
$ for ((i=1; i<=3; i++)); do echo $i; done123
使用大括号序列,写作更短,更易读:
$ for i in {1..3}; do echo $i; done
序列表达式的一般语法是{START..END..INCREMENT},其中START和END是必需的整数或单个字符,但INCREMENT是可选的整数值(默认为1)。这样的表达式通过INCREMENT步骤从START到END开始生成整数或字符序列。这样,列出9和17之间的奇数就像写:
$ echo {9..17..2}9 11 13 15 17
虽然枚举字母表并不复杂:
$ echo {a..z}a b c d e f g h i j k l m n o p q r s t u v w x y z
限制
1. 有效的括号扩展必须至少包含逗号或序列表达式。不能有空格。2. 变量扩展在括号列表中工作,但不在序列表达式内部。
0 0
- 使用Unix Shells进行大括号扩展
- Unix 大括号扩展
- History of Unix Shells
- UNIX基础--Shells
- LInux 大括号扩展
- 大括号扩展插件
- bash shell 大括号扩展
- visio大括号使用
- Unix scrip 11 - variables III 大括号
- shells
- shells
- UNIX Shells by Example(Fourth Edition)读书笔记
- Linux中大括号的用法扩展
- find命令使用-exec 进行两次大括号传入路径进行cat重定向到对应的特定文件
- UNIX® Shells by Example, Third Edition笔记1
- UNIX® Shells by Example, Third Edition笔记2
- UNIX.Shells.by.Example.4th.Edition StudyNote
- Linux中大括号扩展参数的使用方法
- 微信公众平台后台数据如何分析
- jenkins 的 Build periodically 参数配置
- linux配置java环境变量(详细)
- [kuangbin带你飞]专题六 最小生成树 D
- 前端涉及的所有知识体系
- 使用Unix Shells进行大括号扩展
- 对TexStudio配置拼写和语法检查LanguageTool功能
- RtmpServer系列
- 接口测试之基础篇2
- spring + mybatis配置多个数据源
- android中的 Otto使用
- ftp身份认证时登录框反复弹出以及ftp常用配置
- Position属性四个值:static、fixed、absolute和relative的区别和用法
- Android卡片布局的两种实现方式