最初の列の数に基づいてファイル内の各行の数を印刷する方法

最初の列の数に基づいてファイル内の各行の数を印刷する方法
Input_file:
1 string1 
4 string2
2 string3
...

Output_file:
1 string1
4 string2
4 string2
4 string2
4 string2
2 string3
2 string3
...

これは私のコードですが、うまくいきません。

#!/bin/bash
N=0
cat input_file | while read LINE; do

    N=$((N+1))

awk '{for(i=0;i<'$1';i++);print}' $LINE >> output_file

done

ベストアンサー1

コメントから:

awk '{for(i=0;i<$1;i++) print}' input_file > output_file

これはinput_file各行にあります。i最初のフィールドに基づいて繰り返し、現在の行を複数回印刷します。これにより、出力全体がにリダイレクトされますoutput_file

おすすめ記事