How to split the comma separated file?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to split the comma separated file?
# 1  
Old 02-11-2013
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

Last edited by jagdishrout; 02-12-2013 at 04:20 AM..
# 2  
Old 02-11-2013
Code:
#!/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

# 3  
Old 02-11-2013
Code:
awk -F, 'BEGIN{ print "column1 column2" } {v=$2; $2=v" "$1; print; $2=v" "v; print}' OFS=, filename

# 4  
Old 02-11-2013
Code:
awk -F, '{print $0,$1 RS $0,$2}' file

This User Gave Thanks to Scrutinizer For This Post:
# 5  
Old 02-12-2013
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

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

the o/p should like


Code:
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

# 6  
Old 02-12-2013
Try:
Code:
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.

Last edited by Scrutinizer; 02-12-2013 at 10:37 AM..
# 7  
Old 02-12-2013
awk -F, '{ v=$1; print $0" "v}' filename

sample with

Code:
#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


Code:
#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

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk to parse comma separated field and removing comma in between number and double quotes

Hi Experts, Please support I have below data in file in comma seperated, but 4th column is containing comma in between numbers, bcz of which when i tried to parse the file the column 6th value(5049641141) is being removed from the file and value(222.82) in column 5 becoming value of column6. ... (3 Replies)
Discussion started by: as7951
3 Replies

2. Shell Programming and Scripting

Convert comma separated file to fix length

Hi, I am converting a comma separated file to fixed field lenght and I am using that: COLUMNS="25 24 67 26 39 63 20 34 35 14 397" ( cat $indir/input_file.dat | \ $AWK -v columns="$COLUMNS" ' BEGIN { FS=","; OFS=""; split(columns, arr, " "); } { for(i=1; i<=NF;... (5 Replies)
Discussion started by: apenkov
5 Replies

3. UNIX for Dummies Questions & Answers

[solved] Comma separated values to space separated

Hi, I have a large number of files which are written as csv (comma-separated values). Does anyone know of simple sed/awk command do achieve this? Thanks! ---------- Post updated at 10:59 AM ---------- Previous update was at 10:54 AM ---------- Guess I asked this too soon. Found the... (0 Replies)
Discussion started by: lost.identity
0 Replies

4. Shell Programming and Scripting

Need Help - comma inside double quote in comma separated csv,

Hello there, I have a comma separated csv , and all the text field is wrapped by double quote. Issue is some text field contain comma as well inside double quote. so it is difficult to process. Input in the csv file is , 1,234,"abc,12,gh","GH234TY",34 I need output like below,... (8 Replies)
Discussion started by: Uttam Maji
8 Replies

5. Shell Programming and Scripting

Comma separated file

Hi all, I have the following files types: FileA: 100, 23, 33, FileB: 22, 45, 78, and i want to make File C: 100,22 23,45 33,78 any nice suggestions for making it easy. (3 Replies)
Discussion started by: hen1610
3 Replies

6. Shell Programming and Scripting

Inserting string in between field in comma separated file

Hello Mates, I have one txt file having commo seperated values. I have to insert string "FALSE" in 2nd field from the end. E.G SE18 6RN,,,,5439070,1786840,,1000002148671600,123434 Out put should be: SE18 6RN,,,,5439070,1786840,FALSE,1000002148671600,123434 Can some one help me to... (8 Replies)
Discussion started by: krsnadasa
8 Replies

7. Shell Programming and Scripting

parsing comma separated file

Hi, I have a file with th elist of patches separated by comma, like below: patch1, patch 2, patch 3................ t\The number of patches is not known as it changes every time. I need assistance in writing a routine such as it will take patch1 as first variable and performs the... (4 Replies)
Discussion started by: avikaljain
4 Replies

8. Shell Programming and Scripting

How to format file into comma separated field

Guys, Need you help, i have a a file content that look like this. Nokia 3330 <spaces><spaces><more spaces>+76451883874 Nokia 3610 +87467361615 so on and so forth, - there are so many spaces in between. - e.g.... (5 Replies)
Discussion started by: shtobias
5 Replies

9. Shell Programming and Scripting

Converting comma separated to pipe delimited file

Hi, I came across a very good script to convert a comma seperated to pipe delimited file in this forum. the script serves most of the requirement but looks like it does not handle embedded double quotes and commas i.e if the input is like 1234, "value","first,second", "LDC5"monitor",... (15 Replies)
Discussion started by: anijan
15 Replies

10. UNIX for Dummies Questions & Answers

Remove whitespaces between comma separated fields from file

Hello all, I am a unix dummy. I am trying to remove spaces between fields. I have the file in the following format 12332432, 2345 , asdfsdf ,100216 , 9999999 12332431, 2341 , asdfsd2 ,100213 , 9999999 &... (2 Replies)
Discussion started by: nitinbjoshi
2 Replies
Login or Register to Ask a Question