gpt4 book ai didi

bash - 如何在不获取所有组合的情况下获取成对的大括号扩展?

转载 作者:行者123 更新时间:2023-11-29 09:04:02 24 4
gpt4 key购买 nike

我在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com