As usual, you did not give a clear specification of the output you want. If this isn't what you want, maybe it will be close enough for you to figure out how to fix it to meet your unstated requirements:
Code:
awk '
FNR == NR {
c = NR # # of lines in 1st file
for(i = 1; i <= 9; i++)
a[c, i] = $i
next
}
{ p = 0 # # of lines matched
for(i = 1; i <= c; i++) {
m = 5 # # of fields that must match
for(j = 1; j <= 8 && m; j++)
if(a[i, j] == $j) m--
if(m) continue
# We matched enough fields; print this as a matched line.
print $0, a[i, 9]
p++
}
# If we did not find any matching lines, print the not found message
if(p == 0) print $0, "Not -In file"
}' OFS="\t" file1 file2
As always, if you're using a Solaris/SunOS system, use /usr/xpg4/bin/awk or nawk instead of awk.
Last edited by Don Cragun; 03-30-2013 at 09:00 AM..
Reason: Remove ' in comment
This User Gave Thanks to Don Cragun For This Post:
Hi, I need help to write a korn shell script to
1. Check and compare the first file contains single record from the /scp/inbox directory against the badpnt.dat file from the pnt/badfiles directory contains multiple records based on the fam_id column value start at position 38 to 47 from the... (7 Replies)
Hi
i want to compare files
a.txt
12345,23
34567,76
65456,10
13467,01
b.txt
12346,23
34567,76
23333,90
65456,10
13467,03
i want o/p in 3 files
common.txt
both have (2 Replies)
Here is my situation. I need to compare two tab separated files (diff is not useful since there could be known difference between files).
I have found similar posts , but not fully matching.I was thinking of writing a shell script using cut and grep and while loop but after going thru posts it... (2 Replies)
Hi,
I am writing a comparator script, which comapre two txt files(column by column)
below are the precondition of this comparator
1)columns of file are not seperated
Ex.
file1.txt
8888812341181892
1243548895685687
8945896789897789
1111111111111111
file2.txt
9578956789567897... (2 Replies)
Dear All,
I would appreciate any help..At the moment, my work is stuck cos of my inability to resolve this issue.
Which is following:
I have two files with the arrngment like this
file-1
190645 12 3596022
190645 12 3764915
190645 16 3803981
190645 12 3854102
190645 12 4324593
190645... (12 Replies)
Hi all,
I have two two-column tab-separated files with the following input:
inputA
dog A
dog B
cat A....
inputB
dog C
mouse A
output
dog
I need to compare the 1st column of each file and output those shared items.
What is the best unix solution for that? (5 Replies)
Hi All,
I have 2 files in the following format :
File 1
S00999999|BHANU|TEST|007 JOHN DOE APT 999||VENGA HIGHWAY|MA|09566|SCO DUAL|20140201|20140331|20140401|20140630|20140327|
S00888888|BU|TES|009 JOHN DOE APT 909||SENGA HIGHWAY|MA|08566|SCO... (1 Reply)
Hi, I have two files roughly 1200 fields in length for each row, sorted on the 2nd field. I need to compare based on that 2nd column between file1 and file2 and print lines that exist in both files into separate files (I can't guarantee that every line in file1 is in file2).
Example:
File1: ... (1 Reply)
I have the following 2 files.
File 1
08FB,000192602673,10000000c9a6b240
0121,000192602673,20000025b550101f
0121,000192602673,20000025b550100f
08FA,000192602673,10000000c9a6b240
File 2
18F2,000195702363,10000000c9a6b240
18F3,000195702363,10000000c9a6b240... (2 Replies)
Example:
I have files in below format
file 1:
zxc,133,joe@example.com
cst,222,xyz@example1.com
File 2 Contains:
hxd
hcd
jws
zxc
cst
File 1 has 50000 lines and file 2 has around 30000 lines :
Expected Output has to be :
hxd
hcd
jws (5 Replies)
Discussion started by: TestPractice
5 Replies
LEARN ABOUT LINUX
annotate-output
ANNOTATE-OUTPUT(1) General Commands Manual ANNOTATE-OUTPUT(1)NAME
annotate-output - annotate program output with time and stream
SYNOPSIS
annotate-output [options] program [args ...]
DESCRIPTION
annotate-output will execute the specified program, while prepending every line with the current time and O for stdout and E for stderr.
OPTIONS
+FORMAT
Controls the timestamp format, as per date(1). Defaults to "%H:%M:%S".
-h, --help
Display a help message and exit successfully.
EXAMPLE
$ annotate-output make
21:41:21 I: Started make
21:41:21 O: gcc -Wall program.c
21:43:18 E: program.c: Couldn't compile, and took me ages to find out
21:43:19 E: collect2: ld returned 1 exit status
21:43:19 E: make: *** [all] Error 1
21:43:19 I: Finished with exitcode 2
BUGS
Since stdout and stderr are processed in parallel, it can happen that some lines received on stdout will show up before later-printed
stderr lines (and vice-versa).
This is unfortunately very hard to fix with the current annotation strategy. A fix would involve switching to PTRACE'ing the process.
Giving nice a (much) higher priority over the executed program could however cause this behaviour to show up less frequently.
The program does not work as well when the output is not linewise. In particular, when an interactive program asks for input, the question
might not be shown until after you have answered it. This will give the impression that the annotated program has hung, while it has not.
SEE ALSO date(1)SUPPORT
This program is community-supported (meaning: you'll need to fix it yourself). Patches are however appreciated, as is any feedback (posi-
tive or negative).
AUTHOR
annotate-output was written by Jeroen van Wolffelaar <jeroen@wolffelaar.nl> This manpage comes under the same copyright as annotate-output
itself, read /usr/bin/annotate-output (or wherever you install it) for the details.
DEBIAN Debian Utilities ANNOTATE-OUTPUT(1)