问题标签 [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.
bash - Bash 括号扩展:如何将所有文件名与数字匹配?
我想匹配目录中的所有文件名,如下所示:
如果我做
我明白了
所以它匹配我想要的所有文件,除了h12.txt
,因为它有两位而不是一位。是否有一位或多位数字的扩展?
shell - 为什么 zsh 不执行大括号扩展?
我的默认 shell 是 zsh ( /bin/zsh
)。当我第一次打开终端会话时,字符的大括号扩展不起作用,而数字扩展工作正常。运行zsh
以打开一个新的 shell 解决了这个问题:
这发生在终端和 iTerm 中,并且不是由于任何设置.zshrc
(在没有该文件的情况下不变)。zsh 版本在这两种情况下都是相同的,并且大于 5.0.7,所以这个相关问题没有解释。我认为它与登录/非登录 shell 之间的区别有某种关系,但我不知道它为什么会这样做。
为什么 zsh 不在这里执行大括号扩展?
bash - Bash:for循环,列表中带有大括号扩展
我想编写一个 for in 循环,其中可能的值取自另一个变量。我无法弄清楚的部分是如何包含需要大括号扩展的值。例如:
我得到的是
但我想要的是
有谁知道我怎样才能让它工作?
非常感谢!
bash - Brace expansion with $@ arguments
Suppose I call a script with 3 arguments, a
, abc
, and xyz
such that $@
contains these three arguments.
Suppose I want to call write a command:
How would I accomplish that?
I don't think {foo,bar}$@
or {foo,bar}{$@}
work since brace expansion happens before $@
is expanded.
bash - 如何对变量进行大括号扩展?
考虑以下脚本:
这个脚本的输出是:
我想要echo
在${EX}
. 因此,我想看到一个输出
我想创建一个脚本,用户可以在其中提供带有大括号的路径,在该路径中复制它的每个扩展版本。
像这样的东西:
我怎样才能做到这一点?
shell - 解释括号 grep 中的 shell 变量
我有这样的命令:
它工作得很好,但我需要使用这样的文件名提取常量:
由于大括号,这不起作用。我该怎么做 ?
bash - 如何在 Bash 中编写花式缩进的多行大括号扩展?
我正在处理这样的一行:
这条线很长。我想切割它,使其宽度适合 80 列线。我试图用反斜杠转义行尾,但空间对齐会破坏扩展:
bash - 如何在 Bash 中将 `4-7` 替换为 `4,5,6,7`
目标
我有一个长字符串s
,它代表一系列用逗号和破折号分隔的数字(见下文)。当多个数字相互跟随时,两个极端数字被写入并用破折号分隔。例如,系列4,5,6,7
写为4-7
。我的目标是扩展此字符串以使所有数字都用逗号分隔(4-7
应该成为4,5,6,7
)。
我做了什么
这是字符串的示例
我想首先4-7
通过{4..7}
(使用 sed 反向引用)替换类型的模式
然后评估字符串以扩展大括号
但是,当我运行最后一个命令时,扩展是“以阶乘方式”完成的(导致 RAM 使用量激增)。
问题
4-7
如何在4,5,6,7
我的字符串中替换那种模式?
版本
我在Mac OS X 10.11.3
使用Terminal 2.6.1 (361.1)
shell - 在这种鱼(壳)案例中,为什么大括号扩展不像循环那样工作?
我希望这些命令的行为相同:
如果使用 #1 运行而不返回单行,echo
而 #2 返回两行,这一事实让我相信存在差异。第二个版本有效,第一个版本只运行第一个脚本。
这是为什么?