Merging data


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Merging data
# 1  
Old 06-02-2005
Merging data

Hi,

I have the following problem:

Input:

"num1","num2","num3",num4,num5,"num6"

required output:
"num1num2","num3",num4,num5,"num6"

I need to join field 1 and field 2 together but I always end up getting:
"num1""num2","num3",num4,num5,"num6"
Note that not all fields have " at both ends.

Any advice?

Thanks!
# 2  
Old 06-02-2005
Post the script you have.
# 3  
Old 06-02-2005
How about this ?

Code:
sed -e 's/^\"\([a-z0-9]*\)\",\"\([a-z0-9]*\)\"\(.*\)/\"\1\2"\3/' rev.txt


where rev.txt is your input file.

Here is the explanation
Code:
s/^\"\([a-z0-9]*\)\",\"\([a-z0-9]*\)\"\(.*\)/\"\1\2"\3/

breaks down to
s/                          string substitution - regex follows
^                          starts with
\"\([a-z0-9]*\)\"      " followed by a sequence of  alphabets and numbers(store it into buffer 1) followed by
,                           ,
\"\([a-z0-9]*\)\"     " followed by a sequence of  alphabets and numbers (store it into buffer 2)followed by
\(.*\)                     any combinations of charcters ( store it into buffer 3)
\                            end of regex
"\1\2"\3                   to get your final desired output
/                            end of s///

Vino
# 4  
Old 06-02-2005
You can get as,

echo '"num1","num2","num3",num4,num5,"num6"' | while read line;
do
f1=$(echo $line | cut -d, -f1|sed 's/"$//')
f2=$(echo $line | cut -d, -f2|sed 's/^"//')
f3=$(echo $line | cut -d, -f3-)
echo $f1$f2,$f3
done

hth.
# 5  
Old 06-02-2005
You can try with one line awk as,

echo '"num1","num2","num3",num4,num5,"num6"' | awk -F, '{ split($1,a,"\"");split($2,b,"\"");print "\""a[2]b[2]"\","$3","$4","$5","$6 }'

If the field count is fixed 6. Else try as,
echo '"num1","num2","num3",num4,num5,"num6"' | awk -F, '{ split($1,a,"\"");split($2,b,"\"");printf "\""a[2]b[2]"\",";for (i=3;i<=NF-1;i++){printf $i",";}print $NF }'

hth.
# 6  
Old 06-02-2005
thanks muthukumar,

I have tried ur script and it works really well! thanks to vino for helping too! Smilie
# 7  
Old 06-02-2005
erm one question though:

why is it a[2]b[2] and not a[0]b[0] or any other numbers? what does "2" mean?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Merging data horizontally with newlines in files

Hi Everyone, I have two files file1 and file2 with these contents cat file1 AAAAA 01/03/2014 04:01:23 BBBB 01/03/2014 03:03:34 CCCcc 01/03/2014 03:03:34 cat file2 1 RED 1 HHHH 1 TTTT 1 BBBBB I tried the below... (2 Replies)
Discussion started by: Aditya_001
2 Replies

2. Shell Programming and Scripting

Help with merging data into single line.

Hi, My input is <message> looking for a big <message>Does fit my G74 laptop. Makes the 10 pound. <message> <message>This bag is the only one I could find to fit my awesome ASUS G74S. <message> <message> Great bag my only wish is that they had put a pocket in which to store and... (6 Replies)
Discussion started by: pamu
6 Replies

3. UNIX for Dummies Questions & Answers

Merging data in a file

Hello, Firstly I just wanted to say that I'm not a programmer at all and appreciate any help you can give. I am trying to create a shellscript that reformats the file and adding up colums 5 and 6 for those sections that are continuation of the previous line(s) (signified by beginning with '*')... (4 Replies)
Discussion started by: neilh1703
4 Replies

4. Shell Programming and Scripting

Merging data from one file into another

Hello, I have a master database of a dictionary with the following structure: a=b (b is a Unicode string) a is the English part and b is the equivalent in a foreign language I have also another file which has a database where the /b/ part of the string has been corrected by an expert. let us... (5 Replies)
Discussion started by: gimley
5 Replies

5. Shell Programming and Scripting

Merging data from 2 files of different lengths?

Hi all, Sorry if someone has answered something like this already, but I have a problem. I am not brilliant with "awk" but think it should be the command to use to get what I am after. I have 2 files: job-file (several hundred lines like): 1018003,LONG MU WAN,1113S 1018004,LONG MU... (4 Replies)
Discussion started by: sgb2301
4 Replies

6. Shell Programming and Scripting

formatting and merging 2 data files

Hi, I have 2 files that I got as an output from another program. They are : File 1 ((((((CtBJa:197.0,CtBTz:197.0):85.0,CtAHr:197.0):116.0,CtDUw:197.0):176.0,CtSwe:197.0):110.0, (CtL2b:197.0,Ct4Bu:197.0):196.0):197.0,CmuNg:197.0);... (5 Replies)
Discussion started by: Lucky Ali
5 Replies

7. Shell Programming and Scripting

Removing Carriage return and merging data

Hi, I am trying to remove the carriage return on the record which starts with ADD, MODIFY, or DELETE keyword as the first value in the record. If the records does not start with anyone of these keywords then combine the records with the previous record (line). Input File name xyz.txt... (6 Replies)
Discussion started by: naveed
6 Replies

8. Shell Programming and Scripting

Merging last and syslog data on time

This is on a HP-UX system. I need to merge the 2 reports, for each line in syslog I need to lookup who was logged in to the pts/# based on the time from the last.txt report. Here is what I get from sulog.log cat syslog | grep "su:" | grep "Jun 14" Jul 14 08:02:48 server1 su: - 2 ... (8 Replies)
Discussion started by: Ikon
8 Replies

9. Shell Programming and Scripting

merging CSV data using a one liner from shell?

I'm trying to merge multiple CSV (comma separated value) files into one large master file. All files have a field that is unique to act as the key for entry/merging into the master file & and all files have the same number of fields that are in the master file. I'll give an example here: ... (2 Replies)
Discussion started by: jjinca
2 Replies

10. Shell Programming and Scripting

Need help for 2 data file merging

Hello Please help me to write Shell script. I want to merge 2 data files . The data files have common columns The data file A have 3 columns Host Version Numberof Failuers The data file B have also 3 coulmns Host Version NumberofFailuers . I want to merge A and B file... (2 Replies)
Discussion started by: getdpg
2 Replies
Login or Register to Ask a Question