如何在Linux中创建具有重复值序列的2列?

如何在Linux中创建具有重复值序列的2列?

我想创建 2 列,例如:

1 10
1 20 
1 30
1 40
1 50
2 10
2 20
2 30 
2 40
2 50
3 10
3 20
3 30
3 40
3 50

请问有什么建议吗?

答案1

使用现代外壳,您可以组合大括号扩展并运行如下内容:

printf %s\\n ID_{1..3}' '{10..50..10}

答案2

如果您有最新版本的 Bash:

for i in {1..3}; do
    for j in {10..50..10}; do
        echo "$i $j"
    done
done

如果您有旧版本:

for i in {1..3}; do
    for j in {1..5}; do
        echo "$i ${j}0"
    done
done

或者,使用seq

for i in $(seq 1 3); do
    for j in $(seq 10 10 50); do
        echo "$i $j"
    done
done

答案3

的一个变体唐克里斯斯蒂的回答它只是认识到末尾的零是常数这一事实:

$ printf '%s\n' {1..3}' '{1..5}0
1 10
1 20
1 30
1 40
1 50
2 10
2 20
2 30
2 40
2 50
3 10
3 20
3 30
3 40
3 50

相关内容