Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Any way to get join to include the non-matching line ??? Post 303044576 by newbie_01 on Wednesday 26th of February 2020 11:55:53 PM
Old 02-27-2020
Any way to get join to include the non-matching line ???

Hi,


Need guidance if I should totally abandon join and use something else instead. I found several other options when searching for merge files in UNIX.com


Below are the test files to join:



Code:
$ head -1000 a.txt b.txt c.txt
==> a.txt <==
A|1
B|3
C|5
D|10
E|11

==> b.txt <==
A|4
B|5
C|4
D|1

==> c.txt <==
A|1
A|3
C|5
D|10
E|11

Running
Code:
$ join -t"|" -j1 a.txt b.txt

gives



Code:
A|1|4
B|3|5
C|5|4
D|10|1

Is there no way to get the E row from a.txt

Running
Code:
$ join -t"|" -j1 a.txt c.txt

. Is there no way to get the B row from a.txt printed?



Code:
A|1|1
A|1|3
C|5|5
D|10|10
E|11|11

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell script to join a line to the line that follows it

Hi All, I need a shell script to join a line to the line that follows it. But I shouldn't do it for all the lines. I need to join a line having the character say '&' at the end of the line & need to join the line that follows it. E.g Input 1. This is the first line & 2. and the second... (6 Replies)
Discussion started by: shashi_kiran_v
6 Replies

2. Shell Programming and Scripting

need for loop to include fields as one line

another question that could possibly be answered with awk... #cat filename ab cd ef:ghi:jk lm:nop qrs ab cd ef:ghi:jk lm:nop qrs ab cd ef:ghi:jk lm:nop qrs ab cd ef:ghi:jk lm:nop qrs # for x in `awk 'sub($1" +"$2" +","",$0) ' filename`; do echo $x; done ef:ghi:jk ... (8 Replies)
Discussion started by: prkfriryce
8 Replies

3. Shell Programming and Scripting

How to use Perl to join multi-line into single line

Hello, Did anyone know how to write a perl script to merge the multi-line into a single line where each line with start at timestamp Input--> timestamp=2009-11-10-04.55.20.829347; a; b; c; timestamp=2009-11-10-04.55.20.829347; aa; bb; cc; (5 Replies)
Discussion started by: happyday
5 Replies

4. Shell Programming and Scripting

Join 3 or more files using matching column

Dear Forum, Full title of the topic would be: "Join 3 or more files using matching column without full list in any of these columns" I have several, typically 3 or 4 files which I need to join, something like FULL JOIN in slq scripts, all combinations of matches should be printed into an... (3 Replies)
Discussion started by: cyz700
3 Replies

5. Shell Programming and Scripting

Matching the substring and join two files

Hi I had two files like below. file-1 101001234567890 101001234567891 101001234567892 101001234567893 101001234567894 101001234567895 101001234567896 101001234567897 101001234567898 101001234567899 file-2 (6 Replies)
Discussion started by: p_sai_ias
6 Replies

6. Shell Programming and Scripting

Join all the lines matching similar pattern

I am trying to Join all the lines matching similar pattern. Example ; I wanted to join all the lines which has sam to a single line. In next line, i wanted to have all the lines with jones to a single line....etc > cat sample.txt sam 2012/11/23 sam 2012/12/5 sam 2012/12/5 jones... (2 Replies)
Discussion started by: evrurs
2 Replies

7. Shell Programming and Scripting

Insert lines above matching line with content from matching

Hi, I have text file: Name: xyz Gender: M Address: "120_B_C; ksilskdj; lsudlfw" Zip: 20392 Name: KLM Gender: F Address: "65_D_F; wnmlsi;lsuod;,...." Zip:90233I want to insert 2 new lines before the 'Address: ' line deriving value from this Address line value The Address value in quotes... (1 Reply)
Discussion started by: ysrini
1 Replies

8. Shell Programming and Scripting

Join two files with matching columns

Hi, I need to join two files together with one common value in a column. I think I can use awk or join or a combination but I can't quite get it. Basically my data looks like this, with the TICKER columns matching up in each file File1 TICKER,column 1, column, 2, column, 3, column 4 ... (6 Replies)
Discussion started by: unkleruckus
6 Replies

9. Shell Programming and Scripting

Compare file1 for matching line in file2 and print the difference in matching lines

Hello, I have two files file 1 and file 2 each having result of a query on certain database tables and need to compare for Col1 in file1 with Col3 in file2, compare Col2 with Col4 and output the value of Col1 from File1 which is a) not present in Col3 of File2 b) value of Col2 is different from... (2 Replies)
Discussion started by: RasB15
2 Replies

10. Shell Programming and Scripting

Regex to include up to blank line.

Hi guys I am trying to figure out how to match a pattern with a regex up to a full blank line. I will show you what I mean with this example: example A movie name: ted movie name: TMNT movie name: Jinxed example B movie names: Gravity Faster Turbo song titles: dont hello problem (8 Replies)
Discussion started by: acoding
8 Replies
bntext(5)							File Formats Manual							 bntext(5)

NAME
bnmotd.txt, bnnews.txt bnissue.txt - messages for the Unix Battle.net daemon DESCRIPTION
The file bnmotd.txt contains text displayed by bnetd(1), when users first log into the server. The file bnnews.txt contains text displayed when the user uses the /news chat command. The files consist of raw text with printf-style formatting escapes. Each line of a file can contain a type formatter from the following list: %B Use the broadcast attribute (???). %C Execute the line as if the user entered it as a command. %E Use the error attribute (red). %I Use the info attribute (yellow). This is the same was %W. %M Normal chat message (white). This will appear as if the user said it. %T Emote chat message (???). This will appear as if the user said it. %W Use the warning attribute (yellow). This is the same was %I. Within a line, any of the following format formatters may be used: %% Expand to a literal percent sign (%). %a Expand to the number of accounts on the server. %c Expand to the number of channels on the server. This includes all permanent and current temporary channels. %g Expand to the number of games on the server. This includes both public and private (passworded) games. %h Expand to the hostname of the server (as returned by gethostname(2)). %i Expand to this user's account ID number, formatted with a leading pound (#) sign and leading zeros. %l Expand to this user's current chat name which is usually the same %r Expand to the IP of the remote machine (the client). %t Expand to four character client tag. %u Expand to the number of users logged into the server. %v Expand to the version number of the server. SEE ALSO
bnetd(1) AUTHOR
Ross Combs (ross@bnetd.org) 2 August, 2001 bntext(5)
All times are GMT -4. The time now is 01:49 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy