"seq" を使用して、ある列が 5 の場合、もう一方の列を引き続き使用します。

たとえば、一番右の列から計算を開始して5に達すると、2番目の最も遠い列から計算を続けたいと思います。

0.0.0.0
0.0.0.1
0.0.0.2
0.0.0.3
0.0.0.4
0.0.0.5
0.0.1.5
0.0.2.5
0.0.3.5
0.0.4.5
0.0.5.5
0.1.5.5
0.2.5.5
0.3.5.5
0.4.5.5
0.5.5.5
1.5.5.5
2.5.5.5
3.5.5.5
4.5.5.5
5.5.5.5

今まで私は次のことを使うつもりです。

for i in $(seq 0 5); do echo "0.0.0.$i"; done

一度i == 5設定i=0し、エコーを3番目の位置に移動します。

ベストアンサー1

ループを使用してください。

{
  for i in $(seq 0 5); do echo "0.0.0.$i"   ; done;
  for j in $(seq 1 5); do echo "0.0.$j.$i"  ; done;
  for k in $(seq 1 5); do echo "0.$k.$j.$i" ; done;
  for l in $(seq 1 5); do echo "$l.$k.$j.$i"; done;
}

awk単一ライン入力の繰り返し時間と調整可能なフィールド数を増やすには、より柔軟性を使用してください。

awk -F"." -v OFS="." -v repeat=5 '
{ print $0;
  for(c=NF; c>=1; c--){
      for (i=1; i<=repeat; i++) { $c=i ; print $0; };
  };
}' <<<'0.0.0.0'

おすすめ記事