Help with data reformat if share share content

Input data:

read1_data1
read1_data1
read2_data1
read3_data1
read4_data1
read4_data1
read4_data1
read5_data1
.
.

Desired output result:

read1_data1
read1_data2
read2_data1
read3_data1
read4_data1
read4_data2
read4_data3
read5_data1

If the content share the same "read". Then continue add 1 at the "data"
Thanks for any advice.

awk -F _ '{gsub(/[0-9]/,"",$2);b[$1 FS s]++;print $1 FS $2 b[$1 FS s]}' infile
1 Like
$
$
$ cat f39
read1_data1
read1_data1
read2_data1
read3_data1
read4_data1
read4_data1
read4_data1
read5_data1
$
$
$ perl -plne '/^(.*)(\d+)$/; $_=$1.++$x{$1}' f39
read1_data1
read1_data2
read2_data1
read3_data1
read4_data1
read4_data2
read4_data3
read5_data1
$
$

tyler_durden

for seddt in $(sed 's/data[0-9]//' file|sed '$!N; /^\(.*\)\n\1$/!P; D'); do for((j=1;j<=$(sed -n "/$seddt/=" file|sed -n '$=');j++));do echo "${seddt}data$j";done;done
read1_data1
read1_data2
read2_data1
read3_data1
read4_data1
read4_data2
read4_data3
read5_data1

regards
ygemici