我想生产这样的文件([1-3] X [1-5]的笛卡尔积):
1 1 1 2 1 3 1 4 1 5 2 1 2 2 2 3 2 4 2 5 3 1 3 2 3 3 3 4 3 5
我可以使用嵌套循环来执行此操作,如:
for i in $(seq 3) do for j in $(seq 5) do echo $i $j done done
有没有使用循环的解决方案?
结合两个
brace expansions!
$printf "%s\n" {1..3}" "{1..5} 1 1 1 2 1 3 1 4 1 5 2 1 2 2 2 3 2 4 2 5 3 1 3 2 3 3 3 4 3 5
这通过使用单支撑扩展来工作:
$echo {1..5} 1 2 3 4 5
然后与另一个结合:
$echo {1..5}+{a,b,c} 1+a 1+b 1+c 2+a 2+b 2+c 3+a 3+b 3+c 4+a 4+b 4+c 5+a 5+b 5+c