Paste command - question


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Paste command - question
# 1  
Old 02-13-2012
Paste command - question

Hi,

Below file content is output from pasting two files. Now, i want to output another file which just contains the difference on any line

For example:
Code:
JAY,2,,3,5,B+,JAY,2,,3,5,B+
ANN,5,,5,1,C,ANN,5,,5,2,C

Line JAY seems to have no difference. However, line ANN has difference in on column 5 (value 1 v/s value 2). So, line ANN should go in the new file.

Any help is appreciated.

TIA- jak
# 2  
Old 02-13-2012
Maybe I didn't get it.
Please show the expected result.
# 3  
Old 02-13-2012
Something like this should work:

Code:
paste -d '|'  file1 file2|awk -F \| ' $1 != $2 { print $1, $2; }' >newfile

It assumes the vertical bar (|) does not exist in either input file. You could also write the whole solution with awk rather than using two processes; it's not as "clean looking" but should be more efficient.

Code:
awk -v f1=file1 -v f2=file2 ' BEGIN {
    while( getline<f1 )
    {
        a=$0;
        getline<f2;
        if( a != $0 ) 
            printf( "%s %s\n", a, $0 );
    }
}' >newfile


Last edited by agama; 02-13-2012 at 11:31 PM.. Reason: remove testing extras
# 4  
Old 02-13-2012
hi ambious,

If you see line JAY (this line was originally in two separate file which i pasted into 1 line and 1 file using paste command). So, JAY has values 2,,3,5 and B+ in both the file. ANN has 5,,5,1 and C in one file and 5,,5,2 and C in 2nd file.

combined_file.txt
Code:
JAY,2,,3,5,B+,JAY,2,,3,5,B+
ANN,5,,5,1,C,ANN,5,,5,2,C

After two lines from two files are pasted in one file (as above), I want to separate line ANN (which has difference) into another file diff_file.txt

diff_file.txt should contain just ANN and not JAY
Code:
ANN,5,,5,1,C,ANN,5,,5,2,C

---------- Post updated at 10:31 PM ---------- Previous update was at 10:26 PM ----------

Thanks agama, i liked your solution of filtering right during the paste .. thanks

JaK
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Issue with paste command

Hi, I am facing issue with paste command. It is adding spaces or tab in between. I have say 3 files with below data File_1 TH THI THIS I File_2 IS IS S IS RE S File_3 RECORD 1 CORD 2 IS RECORD 3 (3 Replies)
Discussion started by: Simanto
3 Replies

2. Shell Programming and Scripting

Need help with paste command using variables

How can I accomplish this? I basically want to merge two variables onto the same line. I can do it with two FILES this way: $ cat /tmp/users_in.list | awk -F "," '{print $2}' | cut -c -1 > first.initial $ awk -F "," '{print $1}' /tmp/users_in.list | awk '{print $1}' > last.name $ paste... (5 Replies)
Discussion started by: greenlightening
5 Replies

3. Shell Programming and Scripting

Copy a column and paste to other file question

Please help me. This is simple, but urgent problem for me. :( I have a two files file1 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 ..... file2 11 12 13 14 15 11 12 13 14 15 11 12 13 14 15 ..... 1) I hope to make a new file, file 3, that consists of 2nd... (2 Replies)
Discussion started by: exsonic
2 Replies

4. Shell Programming and Scripting

Can't paste in command line.

Hello. I've made a simple script which asks the user to input a hash and then runs a command that replaces the variable $hash with what the user inserted. The ting is that when the programm asks for input I can't paste anything there..! any clues?? :wall: (8 Replies)
Discussion started by: louboulos
8 Replies

5. Shell Programming and Scripting

need help with cut and paste command

I have a file which contains 3 fields separated by tabs example andrew kid baker I need to swap kid and baker using cut and paste commands how is this to be done? Thanks (3 Replies)
Discussion started by: drew211
3 Replies

6. UNIX for Dummies Questions & Answers

Need help with using cut and paste command

I have a file which contains 3 fields separated by tabs example andrew kid baker I need to swap kid and baker using cut and paste commands how is this to be done? Thanks (1 Reply)
Discussion started by: drew211
1 Replies

7. UNIX for Dummies Questions & Answers

paste command

input1 15 150 input2 x 10 100 input3 y 20 200 z 34 44 cmd paste -d "\t" input1 input2 input3 >>output output (1 Reply)
Discussion started by: repinementer
1 Replies

8. Shell Programming and Scripting

command paste with variables

Hi. I have an interesting problem and i couldn't find out the solution. I have two variables in which there are a lot of lines finished by \n. I would like to concatenate this two variables into one in this format: var1var2 var1var2 . . . I could do this simply by command paste but it works... (32 Replies)
Discussion started by: samos
32 Replies

9. UNIX for Dummies Questions & Answers

Question on Paste command

Hello everyone, This is Rameshreddy. I like this forum and its nice to share everyone's experience here and one can learn a lot from here. Appreciate the moderators especially. Coming to my question i have 2 files and i want to paste them with specific number of tabs as delimiters... (4 Replies)
Discussion started by: mudhireddy
4 Replies

10. UNIX for Advanced & Expert Users

paste command

I wonder if any body can help me with a command i am struggling with. I have a file with around 400 lines in, in a program i have it pulls out each line at a time so that data from the line can be cross referenced with another file. If it finds a match it pulls out a ocde from the second file, this... (5 Replies)
Discussion started by: mariner
5 Replies
Login or Register to Ask a Question