美文网首页每天写1000字每天写500字
linux命令行学习(19):花括号扩展(brace expan

linux命令行学习(19):花括号扩展(brace expan

作者: 金石明镜 | 来源:发表于2019-10-19 13:25 被阅读0次

    花括号扩展(brace expansion)可能算是最奇怪的扩展方式了。有了它,你可以按照花括号里面的模式创建多种文本字符串。实例如下:

    $ echo Front-{A,B,C}-Back

    Front-A-Back Front-B-Back Front-C-Back

    用于花括号扩展的模式信息可以包含一个称为前导字符(preamble)的开头部分和一个称为附言(postscript)的结尾部分。

    花括号表达式本身可以包含一系列逗号分隔的字符串,也可以包含一系列整数或者单个字符。这里的模式信息不能包含内嵌的空白。下面的例子使用了一系列的整数,注意是两个点:

    $ echo Number_{1..5}

    Number_l Number_2 Number一3 Number一4 Number一5

    下面输出一系列逆序排列的字母。

    $ echo {Z..A}

    Z Y X W V  U T S R Q P O N M L K J I H G F E D C B A

    花括号扩展支持嵌套。

    $ echo a{A{l,2},B{3,4}}b

    aAlb aA2b aB3b aB4b

    那么花括号扩展一般应用在哪些地方呢?

    最普遍的应用是创建一系列的文件或者目录。比如说, 摄影师有一个很大的图片集,想要按年份和月份来对这些图片进行分组,那么要做的第一件事就是创 建一系列以年月格式命名的目录。这样,这些目录名将会按照年代顺序排列,输出目录的一个完整的 列表。但是这样做工作量大,而且容易出错。为此我们可以这样操作。

    $ mkdir Pics

    $ cd Pics

    $ mkdir {2009..2011}-0{1..9} {2009..2011}-{10..12}

    $ Is

    这是非常巧妙的方法。

    相关文章

      网友评论

        本文标题:linux命令行学习(19):花括号扩展(brace expan

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