问题标签 [brace-expansion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
331 浏览

bash - 使用大括号扩展在命令行上移动文件

我有一个关于为什么这不起作用的问题。可能,这是一个简单的答案,但我似乎无法弄清楚。

我想移动我拥有的几个文件。它们都具有相同的文件名(比如 file1),但它们都在不同的目录中(比如 /tmp/dir1、dir2 和 dir3)。如果我要单独移动这些,我可以按照以下方式做一些事情:

mv /tmp/dir1/file1 /tmp

这样可行。但是,我有多个目录,它们都将出现在同一个位置......而且我不想覆盖。所以,我尝试了这样的事情:

mv /tmp/{dir1,dir2,dir3}/file1 /tmp/file1.{a,b,c}

当我尝试这个时,我得到:

/tmp/file1.c 不是目录

只是为了澄清......这也有效:

mv /tmp/dir1/file1 /tmp/file1.c

很确定这与大括号扩展有关,但不确定原因。

谢谢

0 投票
3 回答
337 浏览

bash - 是否可以在 bash 中的 case 选择器中使用花括号?

我想在 case switch 中对匹配的行进行一些操作。而且因为字符串很长,我想使用 bash 花括号。但它不起作用。

这段没有花括号的代码按预期工作:

我得到了预期的结果:

但是以下带有花括号的代码没有:

我得到了不正确的结果:

为什么它不工作?是否可以在 bash 中的 case 选择器中使用花括号?

0 投票
2 回答
131 浏览

bash - PHP CLI - 用大括号括起来的逗号分隔键/值对 - 它们是什么?

从 cli 运行 PHP 脚本为:

结果$argv结构为:

问题。

  1. 在这种情况下的预期含义是{ ... }什么?
  2. 它是 PHP 的事情还是 bash 的事情?
  3. 是否有描述这种行为的在线文档?(是的,我已经用谷歌搜索了 - 没有成功)

谢谢!

0 投票
1 回答
111 浏览

bash - 您如何在 wget 请求中显示缺少前导 0?

我正在尝试使用 wget 下载一系列文件。这在 curl 中效果很好,但我喜欢通过间隔调用和在 wget 中的请求之间提供几秒钟的等待来轻松地在服务器上运行的能力。但是,我无法添加前导零,这似乎不起作用:

上面的命令产生 404s 因为前导0并且00不显示,因此它的工作原理与{1..101}.

以防万一这是我的 High Sierra OS X (Bash 3.2) 上的旧 Bash 版本的问题,我将 Bash 升级到 5.0.7。然而即使那样,bash 括号似乎也不会像其他人报告的那样产生前导零:

有什么建议么?

0 投票
3 回答
47 浏览

string - BASH 中的正则表达式和字符串操作

我怎样才能重写这个命令:

这是工作。

像这样的形式:

这是行不通的。

0 投票
2 回答
166 浏览

bash - 基于变量内容的bash大括号扩展不起作用

如何使 bash 扩展它在传递给 mkdir 的变量中找到的任何内容?到目前为止,我已经尝试使用evaland bash -c,但似乎没有任何效果

我希望这将扩大到

0 投票
3 回答
131 浏览

bash - 大括号扩展中的 Bash 捕获

在正则表达式中使用诸如捕获组之类的东西进行大括号扩展的最佳方法是什么。例如:

导致数字和 25 个不同文件的所有排列。但如果我只想让第一个和第二个数字相同的文件像1myfile1.txt, 2myfile2.txt,... 一样,这显然是行不通的。因此,我想知道最好的方法是什么?我正在考虑捕获第一个数字,然后再次使用它。理想情况下没有琐碎的循环。

谢谢!

0 投票
3 回答
109 浏览

bash - 大括号扩展为单个参数

我正在调用一个 bash 函数,如下所示:

我想用一个计算结果相同的单个参数的大括号扩展替换上面的内容。以下不起作用:

因为这是三个单独的参数,而不是一个具有空格分隔值的参数。也就是说,它等价于:

这与原始调用不同。

0 投票
1 回答
161 浏览

python - 您可以使用大括号扩展从字符串列表中扩展吗?

我想使用 os.makedirs 创建目录结构。我尝试使用大括号扩展,它部分工作:

但是,我不想手动创建名为“cat”、“dog”和“bird”的目录,而是想通过从列表中创建结构来自动化该过程。

这是因为我有时只需要中间目录“dog”,有时需要“dog”和“cat”,有时需要全部三个。因此,如果能够根据列表包含的任何动物子集创建目录结构,那就太好了。

到目前为止,我还无法实现这一点(使用列表扩展括号)。

在此处的答案(python glob 中的 Brace 扩展)的帮助下,我能够使用嵌套 for 循环和下面的代码创建我想要的目录结构。

但我喜欢支架扩展的可读性,所以我很好奇是否有人知道如何使用它——或者它是否甚至可以完成。

谢谢!

0 投票
0 回答
11 浏览

bash - 对于带参数的 bash

我喜欢在带有参数的 bash 脚本中创建一个 for 循环,有些像这样:

这个没有循环,只返回:"Processing {1..4}" 有可能吗?