O comando awk
usado pelo OP só tem problema de sintaxe, a instrução ";
no final da impressão
$ awk '{ split ($5,w5,","); for (i in w5) { print $1"\t"$2"\t"$3"\t"$4"\t"w5[i]"\t"$6 } }' ip.txt
jayesh 30,20,50,60 30:20:40,60:55 A AB SM1,SM2
jayesh 30,20,50,60 30:20:40,60:55 A KL SM1,SM2
jayesh 30,20,50,60 30:20:40,60:55 A CD SM1,SM2
rahul 10,80,50,90 25:55:60,25 SGF AAAA SM3,SM4,SM4
rahul 10,80,50,90 25:55:60,25 SGF BCD SM3,SM4,SM4
rahul 10,80,50,90 25:55:60,25 SGF RTY SM3,SM4,SM4
pravin 89,78,40,20 25:30:55,96:25 M J SD10,SD12
sarika 10,20,48 29:50:30,25 T K SD20,SD39
sarika 10,20,48 29:50:30,25 T L SD20,SD39
Além disso, pode definir o separador de campos de saída para uma sintaxe mais limpa, obrigado @fedorqui pela sugestão
awk -v OFS='\t' '{ split ($5,w5,","); for (i in w5) { print $1,$2,$3,$4,w5[i],$6 } }' ip.txt
ou
awk -v OFS='\t' '{ split ($5,w5,","); for (i in w5) { $5 = w5[i]; print } }' ip.txt
Solução semelhante com perl
$ perl -lane 'print join "\t", @F[0..3],$_,@F[5..$#F] foreach split /,/,$F[4]' ip.txt
jayesh 30,20,50,60 30:20:40,60:55 A AB SM1,SM2
jayesh 30,20,50,60 30:20:40,60:55 A KL SM1,SM2
jayesh 30,20,50,60 30:20:40,60:55 A CD SM1,SM2
rahul 10,80,50,90 25:55:60,25 SGF AAAA SM3,SM4,SM4
rahul 10,80,50,90 25:55:60,25 SGF BCD SM3,SM4,SM4
rahul 10,80,50,90 25:55:60,25 SGF RTY SM3,SM4,SM4
pravin 89,78,40,20 25:30:55,96:25 M J SD10,SD12
sarika 10,20,48 29:50:30,25 T K SD20,SD39
sarika 10,20,48 29:50:30,25 T L SD20,SD39