当前位置:首页 > 知识学习 > 详情

方括号怎么打(电脑上方括号怎么打)

2023-05-26 18:06:18 阅读(33) 陶然歌词网
100方括号怎么打(电脑上方括号怎么打)-陶然歌词网

这篇文章将要介绍方括号及其在命令行中的不同用法。

-- Paul Brown

这篇文章将要介绍方括号及其在命令行中的不同用法。

看完 花括号在命令行中的用法 之后,现在我们继续来看方括号([])在上下文中是如何发挥作用的。

通配

方括号最简单的用法就是通配。你可能在知道“ (comGlobbing)”这个概念之前就已经通过通配来匹配内容了,列出具有相同特征的多个文件就是一个很常见的场景,例如列出所有 JPEG 文件:

ls *.jpg

使用 通配符(wildcard)来得到符合某个模式的所有内容,这个过程就叫通配。

在上面的例子当中,星号(*)就代表“0 个或多个字符”。除此以外,还有代表“有且仅有一个字符”的问号(?)。因此

ls d*k*

可以列出 darkly 和 ducky,而且 dark 和 duck 也是可以被列出的,因为 * 可以匹配 0 个字符。而

ls d*k?

则只能列出 ducky,不会列出 darkly、dark 和 duck。

方括号也可以用于通配。为了便于演示,可以创建一个用于测试的目录,并在这个目录下创建文件:

touch file0{0..9}{0..9}

(如果你还不清楚上面这个命令的原理,可以看一下 另一篇介绍花括号的文章 )

执行上面这个命令之后,就会创建 file000、file001、……、file099 这 100 个文件。

如果要列出这些文件当中第二位数字是 7 或 8 的文件,可以执行:

ls file0[78]?

如果要列出 file022、file027、file028、file052、file057、file058、file092、file097、file098,可以执行:

ls file0[259][278]

当然,不仅仅是 ls,很多其它的命令行工具都可以使用方括号来进行通配操作。但在删除文件、移动文件、复制文件的过程中使用通配,你需要有一点横向思维。

例如将 file010 到 file029 这 30 个文件复制成 archive010 到 archive029 这 30 个副本,不可以这样执行:

cp file0[12]? archive0[12]?

因为通配只能针对已有的文件,而 archive 开头的文件并不存在,不能进行通配。

而这条命令

cp file0[12]? archive0[1..2][0..9]

也同样不行,因为 cp 并不允许将多个文件复制到多个文件。在复制多个文件的情况下,只能将多个文件复制到一个指定的目录下:

mkdir archive

cp file0[12]? archive

这条命令是可以正常运行的,但它只会把这 30 个文件以同样的名称复制到 archive/ 目录下,而这并不是我们想要的效果。

如果你阅读过我 关于花括号的文章 ,你大概会记得可以使用 % 来截掉字符串的末尾部分,而使用 # 则可以截掉字符串的开头部分。

例如:

myvar="Hello World"

echo Goodbye Cruel ${myvar#Hello}

就会输出 Goodbye Cruel World,因为 #Hello 将 myvar 变量中开头的 Hello 去掉了。

在通配的过程中,也可以使用这一个技巧。

for i in file0[12]?;\

do\

cp $i archive${i#file};\

done

上面的第一行命令告诉 Bash 需要对所有 file01 开头或者 file02 开头,且后面只跟一个任意字符的文件进行操作,第二行的 do 和第四行的 done 代表需要对这些文件都执行这一块中的命令。

第三行就是实际的复制操作了,这里使用了两次 $i 变量:第一次在 cp 命令中直接作为源文件的文件名使用,第二次则是截掉文件名开头的 file 部分,然后在开头补上一个 archive,也就是这样:

"archive" + "file019" - "file" = "archive019"

最终整个 cp 命令展开为:

cp file019 archive019

最后,顺带说明一下反斜杠 \ 的作用是将一条长命令拆分成多行,这样可以方便阅读。

在下一节,我们会了解方括号的更多用法,敬请关注。

via: https://www.linux.com/blog/2019/3/using-square-brackets-bash-part-1

作者: Paul Brown 选题: lujun9972 译者: HankChow 校对: wxy

本文由 LCTT 原创编译, Linux中国 荣誉推出

点击“了解更多”可访问文内链接

上一篇:女士喷香水(shui)的正确方法(女士喷香水的正确方法图解)

下一篇:家庭去螨虫的最有效方法(家庭如何除螨)

推荐阅读:

  • 王是什么结构(网是什么结构)

    王是什么结构(网是什么结构)

    夏朝君主用一个奇怪的“后”字来称呼自己。商朝的统治者用什么来称呼自己呢?统治者选择什么样的称呼,是由他的思想理念决定的。商朝君主认为“天命有常”,天命是不会改变的,因此治国以“威”,行的是“霸道”,不…
    2023-05-26 阅读(42)
  • dictionary英语怎么读(dictionary英语怎么读音发音)

    dictionary英语怎么读(dictionary英语怎么读音发音)

    在iOS9以前,虽然苹果希望一直将iPad定位于「生产力工具」,可对大多数人来说充其量也只是一个娱乐和阅读设备,很难使用它高效工作。究其原因,我想是它并没有很好的发挥出自身大屏幕的优势,同一时间只能操作单个应…
    2023-05-26 阅读(26)
  • 鹅掌藤的(de)养殖方法(鹅掌藤的养殖方法简笔画图片大全)

    鹅掌藤的(de)养殖方法(鹅掌藤的养殖方法简笔画图片大全)

    鹅掌藤是一(yi)种常绿灌木或小乔木,因叶片很(hen)像鹅掌而得名。盆栽点(dian)缀客厅、书房、餐厅都非常相宜,青翠碧绿,令人十分(fen)舒畅。鹅掌藤,五加科,鹅掌柴属藤状(zhuang)灌木,叶柄纤细,圆锥花(hua)序顶…
    2023-05-26 阅读(39)
  • 雪花粉是什么面粉(超级雪花粉是什么面粉)

    雪花粉是什么面粉(超级雪花粉是什么面粉)

    说起面食,最先让人想到的就是面粉,面粉是制作面食的主要材料,只有用面粉才能把面食制作出来。关于面粉不知道大家了解多少,在我学习美食之前,我对面粉了解甚微,我只知道中筋面粉,低筋面粉和高筋面粉的名字,但…
    2023-05-26 阅读(35)
  • 大碴粥的做法(早餐店大碴粥的做法)

    大碴粥的做法(早餐店大碴粥的做法)

    #春耕进行时#粥的营养,不用我说大家也都知道。春季又是养生好时节,俗话说,养生要喝粥,不管是咸粥还是甜粥营养都是非常全面的,对我们的身体是有好处的。常喝粥能帮我们迅速补充体内所缺失的水分,话说“常喝粥人…
    2023-05-26 阅读(32)