How to split the comma separated file?

Hi,
I have a filein unix like

ABC,CDE
BCD,KHL

and the output i need is like
column1 column2
ABC,CDE ABC
ABC,CDE CDE
BCD,KHL BCD
BCD,KHL KHL. Can some body help me out?

Hi,
The code is working fine. But in my file each row does not have always 1 comma. It may vary from 1 to many.

its like

BUD,BDL
ABC,XYZ
MNB,JHG,KTR
JKL,KYH,TYP,GHY[/CODE]

the o/p should like

ABC,XYZ ABC
ABC,XYZ XYZ
MNB,JHG,KTR MNB
MNB,JHG,KTR JHG
MNB,JHG,KTR KTR
JKL,KYH,TYP,GHY JKL
JKL,KYH,TYP,GHY KYH
JKL,KYH,TYP,GHY TYP
JKL,KYH,TYP,GHY GHY

#!/bin/ksh

while IFS=',' read part1 part2; do
  printf "%s,%s %s\n" $part1 $part2 $part1
  printf "%s,%s %s\n" $part1 $part2 $part2
done < filename

exit 0
awk -F, 'BEGIN{ print "column1 column2" } {v=$2; $2=v" "$1; print; $2=v" "v; print}' OFS=, filename
awk -F, '{print $0,$1 RS $0,$2}' file
1 Like

Hi,
The code is working fine. But in my file each row does not have always 1 comma. It may vary from 1 to many.

its like

BUD,BDL
ABC,XYZ
MNB,JHG,KTR
JKL,KYH,TYP,GHY

the o/p should like

ABC,XYZ ABC
ABC,XYZ XYZ
MNB,JHG,KTR MNB
MNB,JHG,KTR JHG
MNB,JHG,KTR KTR
JKL,KYH,TYP,GHY JKL
JKL,KYH,TYP,GHY KYH
JKL,KYH,TYP,GHY TYP
JKL,KYH,TYP,GHY GHY

Try:

awk -F, '{for(i=1; i<=NF; i++) print $0,$i}' file

--
@jagdishrout: please do not make after-the-fact changes in the requirements in your original post, that makes the other reactions look silly.

awk -F, '{ v=$1; print $0" "v}' filename

sample with

#cat filenames
ABC,XYZ
ABC,XYZ
MNB,JHG,KTR
MNB,JHG,KTR
MNB,JHG,KTR
JKL,KYH,TYP,GHY
JKL,KYH,TYP,GHY
JKL,KYH,TYP,GHY
JKL,KYH,TYP,GHY
#awk -F, '{ v=$1; print $0" "v}' filenames
ABC,XYZ ABC
ABC,XYZ ABC
MNB,JHG,KTR MNB
MNB,JHG,KTR MNB
MNB,JHG,KTR MNB
JKL,KYH,TYP,GHY JKL
JKL,KYH,TYP,GHY JKL
JKL,KYH,TYP,GHY JKL
JKL,KYH,TYP,GHY JKL