Here's one in awk:
$ awk '
{
for(i=0;i<=10;i++) {
c="date -d \"" $1 " " i " minute\" +\"%H:%M\""
system(c)
close(c)
}
}' file
12:30
12:31
12:32
12:33
...
Here RIPs one In Pieces in bash that I wrote even I knew better than that. :D Please don't quote me on that one.
$ while IFS= read -r line; do for j in {0..10}; do k="$i $j minute"; date -d "$k" +"%H:%M" ; done ; done < file
12:30
12:31
12:32
12:33
Explained:
while IFS= read -r line # thanks @Sundeep
# for i in $(cat foo) # for good old times sake, # I stand corrected
do
for j in {0..10} # add 0 to 10 to the time
do
k="$i $j minute" # form the string for date
date -d "$k" +"%H:%M" # magic
done
done < file