Help with concatinating the data of 2 files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with concatinating the data of 2 files
# 1  
Old 02-05-2013
Help with concatinating the data of 2 files

Hi All,

I am trying to merge to 2 files 348.csv & 349.csv using join,awk commands but not getting proper output:

Code:
 
cat 348.csv
Timestamp              Server
                              348 
02/04/2013 09:19      100
02/04/2013 09:20      250
02/04/2013 09:21      80

Code:
 
cat 349.csv
Timestamp              Server
                              349
02/04/2013 09:19      234 
02/04/2013 09:20      13 
02/04/2013 09:21      546

Code:
 
Expected output
Timestamp                 Server      
                              348  349
02/04/2013 09:19      100  234
02/04/2013 09:20      250  13
02/04/2013 09:21      80    546

Code:
 
using below awk:
awk 'NR==FNR{i=NF<5?"__":$1$2$3$4;a[i]=$0;next} FNR==1{print}{i=NF<5?"__":$1$2$3$4}FNR>1&&i in a{print a[i],$NF}' 348.csv 349.csv

Code:
 
using below join:
join -a1 -a2 348.csv 349.csv

Thanks,
# 2  
Old 02-05-2013
Try

Code:
 
awk 'NR==FNR{A[NR]=$0;next}{ print A[FNR],FNR!=1?$NF:""}' file1 file2

This User Gave Thanks to pamu For This Post:
# 3  
Old 02-05-2013
This one relies upon your files having exactly synchronized, corresponding lines:
Code:
awk 'NR==1 {print; getline < f1; next}
     {getline ln < f1; print ln, $NF}
    ' f1="file1" file2
Timestamp              Server
                              348  349
02/04/2013 09:19      100 234
02/04/2013 09:20      250 13
02/04/2013 09:21      80 546

You may want to alter the OFS char to make the output prettier...
This User Gave Thanks to RudiC For This Post:
# 4  
Old 02-06-2013
Hi Pamu/Rudi,

Thanks for your inputs, it worked well.

But still facing some formatting issues i.e. both the numbers are coming under one server name only.
Code:
Timestamp             BRM Servers
                          348  349
02/05/2013 22:26          5 6
02/05/2013 22:36          5 6

Need the numbers below their respective server names.

Is there anyhting can be done?

Thanks in advance!!!!
# 5  
Old 02-06-2013
do mean like this..?

Code:
 
$awk 'NR==FNR{A[NR]=$0;next}{ print A[FNR],$NF}' file1 file2

Timestamp              Server Server
                              348  349
02/04/2013 09:19      100 234
02/04/2013 09:20      250 13
02/04/2013 09:21      80 546

# 6  
Old 02-06-2013
Quote:
Originally Posted by ss_ss
. . .
Need the numbers below their respective server names.
Is there anyhting can be done?
. . .
Of course, but this is heavily depending on your input files. In your sample files, the server ID is far out right, with so many space before it, so don't expect it to come into the desired position by itself. As I said before, you could play around with FS and OFS variables to awk to improve the output formatting.
If you post two carefully composed input files, we can have a look onto the output formatting.
# 7  
Old 02-06-2013
The server id is not intentionally put to the far right, got messed up while posting.

In the input file also the nos would be below the server name and same is required in the output.

Tried a lot posting a clean and formatted input output here but not able to do so, the server names are automatically shifting towards the right Smilie

Thanks
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

In PErl script: need to read the data one file and generate multiple files based on the data

We have the data looks like below in a log file. I want to generat files based on the string between two hash(#) symbol like below Source: #ext1#test1.tale2 drop #ext1#test11.tale21 drop #ext1#test123.tale21 drop #ext2#test1.tale21 drop #ext2#test12.tale21 drop #ext3#test11.tale21 drop... (5 Replies)
Discussion started by: Sanjeev G
5 Replies

2. Shell Programming and Scripting

Combine data from two files base on uniq data

File 1 ID Name Po1 Po2 DD134 DD134_4A_1 NN-1 L_0_1 DD134 DD134_4B_1 NN-2 L_1_1 DD134 DD134_4C_1 NN-3 L_2_1 DD142 DD142_4A_1 NN-1 L_0_1 DD142 DD142_4B_1 NN-2 L_1_1 DD142 DD142_4C_1 NN-3 L_2_1 DD142 DD142_3A_1 NN-41 L_3_1 DD142 DD142_3A_1 NN-42 L_3_2 File 2 ( Combination of... (1 Reply)
Discussion started by: pareshkp
1 Replies

3. Shell Programming and Scripting

Concatinating the lines based on number of delimiters

Hi, I have a problem to concatenate the lines based on number of delimiters (if the delimiter count is 9 then concatenate all the fields & remove the new line char bw delimiters and then write the following data into second line) in a file. my input file content is Title| ID| Owner|... (4 Replies)
Discussion started by: bi.infa
4 Replies

4. Shell Programming and Scripting

How to extract data from indexed files (ISAM files) maintained in an unix server.

Hi, Could someone please assist on a quick way of How to extract data from indexed files (ISAM files) maintained in an UNIX(AIX) server.The file data needs to be extracted in flat text file or CSV or excel format . Usually we have programs in microfocus COBOL to extract data, but would like... (2 Replies)
Discussion started by: devina
2 Replies

5. Shell Programming and Scripting

Problem when concatinating wildcard onto file location in bash script

I am having difficulty with the following script: #! /bin/bash filelist=~/data/${1}* ~/./convertFile $filelist ~/temp/outputEssentially, there are a large number of files in the directory ~/data, each with a four-letter code at the beginning (eg. aaaa001 aaaa002 bbbb001 bbbb002 etc). The... (11 Replies)
Discussion started by: Lears_Fool
11 Replies

6. Shell Programming and Scripting

Help - Bug: A script to compile two types of data files into two temporary files

Dear other forum members, I'm writing a script for my homework, but I'm scratching all over my head and still can't figure out what I did wrong. Please help me. I just started to learn about bash scripting, and I appreciate if anyone of you can point out my errors. I thank you in advance. ... (3 Replies)
Discussion started by: ilove2smoke
3 Replies

7. Shell Programming and Scripting

concatinating the string in each line of the file

how to concatenate particular string in each line of a file.. root$cat conf check_11043 heartbeat_4345 ---------- if i want to add the string "done" output of the file should be check_11043 done heartbeat_4345 done (1 Reply)
Discussion started by: mail2sant
1 Replies

8. Shell Programming and Scripting

concatinating the array

i need to concatenate array like. eg: a = { a,b,c} b= { 1,2,3} result should be like below c={a1,b2,c3} can u help me out (2 Replies)
Discussion started by: mail2sant
2 Replies

9. UNIX for Dummies Questions & Answers

concatinating data

Hi All, I have a file penn.txt which has the following data: hello I wish to append a sting to this file so that data in the file would be represented as: hello%%% Any help on this is greatly appreciated. Thanks KOP. (1 Reply)
Discussion started by: kingofprussia
1 Replies

10. Programming

copying or concatinating string from 1st bit, leaving 0th bit

Hello, If i have 2 strings str1 and str2, i would like to copy/concatenate str2 to str1, from 1st bit leaving the 0th bit. How do i do it? (2 Replies)
Discussion started by: jazz
2 Replies
Login or Register to Ask a Question