Just for info, do you mind tell me more things about : What all of this means ?
So the idea is that we want to first build an (associative) array, in which each index is a line / filename in fileA. The line / filename is represented by $0, and the array is a[]; merely by setting a value to a[index] do we create a[index]; a[index]++ is an easy way of doing this. Then, for fileB, we want to see if the last part of the line, which represents the filename and is represented here by $NF, exists as an index in this associative array. If it does not, a[index] evaluates to 0; when this expression is 0 (does not exist), no further action is taken for that line; otherwise, when the expression is non-zero (does exist) the following implicit action is taken:
Earlier I said that $NF represents the last part of the path in fileB. This is because NF represents the number of fields in the current line, and $NF is the n-th field in the current line (which contains n fields).
Also, how do we distinguish between fileA and fileB? Easy: if the globalrecord number (NR) is equal to the current file record number (FNR), then it must be the first file; the second file's FNR will start at 1, but by then, NR will be 1 plus the number of lines in the first file.
Last edited by otheus; 04-27-2009 at 06:49 AM..
Reason: spelling
I have a directory location where in some logs gets generated whenever some application build is triggered.
I need to send the generated log as an email to end user.
I will get files like abcyyyy_mm_dd_time.log and next file will have different time for same day.
Need to run a cron and take the... (18 Replies)
I have searched about 30 threads, a load of Google pages and cannot find what I am looking for. I have some of the parts but not the whole. I cannot seem to get the puzzle fit together.
I have three folders, two of which contain different versions of multiple files, dist/file1.php dist/file2.php... (4 Replies)
Hi, all:
I've got two folders, say, "folder1" and "folder2".
Under each, there are thousands of files.
It's quite obvious that there are some files missing in each. I just would like to find them. I believe this can be done by "diff" command.
However, if I change the above question a... (1 Reply)
I have four files, I need to compare these files together.
As such i know "sdiff and comm" commands but these commands compare 2 files together. If I use sdiff command then i have to compare each file with other which will increase the codes.
Please suggest if you know some commands whcih can... (6 Replies)
Hi Guys , sorry for my first post but a newbie here need some help on my simple scripts.
I have some scripts below that count the job started and the job finished
and is the job started and job finished equal ..then all job was successfully run and
finished on that day.
but sometime the was... (3 Replies)
I want to compare two files, and search for items that are in both. Then override the first file with that containing only elements which were in both files. I imagine something with diff, but not sure.
File 1
One
Two
Three
Four
Five
File 2
One
Three
Four
Six
Eight (2 Replies)
I have this code
awk 'NR==FNR{a=$1;next} a' file1 file2
which does what I need it to do, but for only two files. I want to make it so that I can have multiple files (for example 30) and the code will return only the items that are in every single one of those files and ignore the ones... (7 Replies)
hi all,
Thanks to all for your great help...
I have a scenario that I have two files (file1 & file2). I need to compare two files entire row by row and share the output if any discrepancies within two files.
File1:
DB1|TB1|C1,C3
DB2|TB2|C1,C2
DB3|TB3|C1,C2,C3,C4
File2:
... (2 Replies)
Discussion started by: Selva_2507
2 Replies
LEARN ABOUT V7
diff
DIFF(1) General Commands Manual DIFF(1)NAME
diff - differential file comparator
SYNOPSIS
diff [ -efbh ] file1 file2
DESCRIPTION
Diff tells what lines must be changed in two files to bring them into agreement. If file1 (file2) is `-', the standard input is used. If
file1 (file2) is a directory, then a file in that directory whose file-name is the same as the file-name of file2 (file1) is used. The
normal output contains lines of these forms:
n1 a n3,n4
n1,n2 d n3
n1,n2 c n3,n4
These lines resemble ed commands to convert file1 into file2. The numbers after the letters pertain to file2. In fact, by exchanging `a'
for `d' and reading backward one may ascertain equally how to convert file2 into file1. As in ed, identical pairs where n1 = n2 or n3 = n4
are abbreviated as a single number.
Following each of these lines come all the lines that are affected in the first file flagged by `<', then all the lines that are affected
in the second file flagged by `>'.
The -b option causes trailing blanks (spaces and tabs) to be ignored and other strings of blanks to compare equal.
The -e option produces a script of a, c and d commands for the editor ed, which will recreate file2 from file1. The -f option produces a
similar script, not useful with ed, in the opposite order. In connection with -e, the following shell program may help maintain multiple
versions of a file. Only an ancestral file ($1) and a chain of version-to-version ed scripts ($2,$3,...) made by diff need be on hand. A
`latest version' appears on the standard output.
(shift; cat $*; echo '1,$p') | ed - $1
Except in rare circumstances, diff finds a smallest sufficient set of file differences.
Option -h does a fast, half-hearted job. It works only when changed stretches are short and well separated, but does work on files of
unlimited length. Options -e and -f are unavailable with -h.
FILES
/tmp/d?????
/usr/lib/diffh for -h
SEE ALSO cmp(1), comm(1), ed(1)DIAGNOSTICS
Exit status is 0 for no differences, 1 for some, 2 for trouble.
BUGS
Editing scripts produced under the -e or -f option are naive about creating lines consisting of a single `.'.
DIFF(1)