- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 macOS High Sierra 10.13.3 上工作。我的外壳是 bash。
当我输入时,echo {1,2}{3,4}
我得到:13 14 23 24
.
是否有获取 13 24
的选项?只是?
我有兴趣创建许多文件,其中文件中的两个位置一起变化。例如,我想要文件:
file1file1
file2file2
file3file3
像file{1,2,3}file{1,2,3} option
这样写会很方便而不是 file1file1 file2file2 file3file3
.
我希望能够在命令中使用这个扩展,例如:
touch file{1,2,3}file{1,2,3} option
创建三个文件。
我希望我正在寻找的功能是明确的。
最终,我想在其中使用此功能的上下文是一个 snakemake 命令:
snakemake --cores 3 release{42,43,44}/file{42,43,44}.txt
我希望 snakemake 生成文件 release42/file42.txt、release43/file43.txt 和 release44/file44.txt。
如果我使用循环实现这一点,文件将连续生成。但是,通过键入 snakemake release42/file42.txt release43/file43.txt release44/file44.txt
, 三个文件将同时生成。但是,由于我很懒,我想输入比 snakemake release42/file42.txt release43/file43.txt release44/file44.txt
短的内容.
最佳答案
用循环组成数组。
items=( )
for i in {42,43,44}; do
items+=( "release$i/file$i.txt" )
done
snakemake "${items[@]}"
这只运行 snakemake
一次,并列出所有文件。
关于bash - 如何在不获取所有组合的情况下获取成对的大括号扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54738806/
我是一名优秀的程序员,十分优秀!