Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在bash中创建嵌套序列?_Bash_Seq - Fatal编程技术网

如何在bash中创建嵌套序列?

如何在bash中创建嵌套序列?,bash,seq,Bash,Seq,我必须在bash脚本中创建一个嵌套序列,如a1b1 a1b2 ab3 a2b1 a2b2 a2b3。 两个序列的上限将通过命令行参数获取 $for i in $(seq 2); do for j in $(seq 3); do echo "a${i}b${j}"; done; done; a1b1 a1b2 a1b3 a2b1 a2b2 a2b3 $ 我开始了解seq命令,但有了它,我只能创建单个序列。 我使用了以下语句echo$(seq-f“a%g”8)。 是否有一种方法可以使用seq命令

我必须在bash脚本中创建一个嵌套序列,如a1b1 a1b2 ab3 a2b1 a2b2 a2b3。 两个序列的上限将通过命令行参数获取

$for i in $(seq 2); do for j in $(seq 3); do  echo "a${i}b${j}"; done; done;
a1b1
a1b2
a1b3
a2b1
a2b2
a2b3
$
我开始了解
seq命令
,但有了它,我只能创建单个序列。 我使用了以下语句
echo$(seq-f“a%g”8)
。 是否有一种方法可以使用seq命令或任何其他方法创建嵌套序列。
注意:我试过使用大括号,但它不起作用,因为我必须接受命令行参数的限制。

另一种方法是使用GNU parallel():

$for i in $(seq 2); do for j in $(seq 3); do  echo "a${i}b${j}"; done; done;
a1b1
a1b2
a1b3
a2b1
a2b2
a2b3
$

注意。如果您需要以正确的顺序输出,请使用
parallel--keep order echo{}::$a:::$b
或将结果输送到
sort
,例如
parallel echo{}::$a::$b | sort
。只需实现某种循环机制

for i in `seq -f "a%g" 2`
do
   for j in `seq -f "b%g" 3`
   do
      echo $i$j
   done
done

只需从bash中进行扩展

printf“%s\n”a{1..2}b{1..3}
输出

a1b1
a1b2
a1b3
a2b1
a2b2
a2b3

如果嵌套序列实际上只是生成参数的一个步骤,并且每个参数都将由同一个命令运行,那么这一点尤其有用。是的,绝对是这样,根据OP的评论,我认为OP正试图这样做:“注意:我尝试使用大括号,但它不起作用,因为我必须接受命令行参数的限制”