11-01-2012
Quote:
Originally Posted by
DGPickett
With comm (and sort) you can select lines that are common, a only, b only in any combination with tab markers of which is which. Man Page for comm (opensolaris Section 1) - The UNIX and Linux Forums Think of the files as sets of lines, and comm can tell you, for files sorted unique, what is a not b, a and b or b not a.
Now, if there is a multilevel structure within the file, you need to preprocess it so detail lines have category prefixes, like "# R:" above. If order is important after "# R:", you need to number the lines in each group, but that will accentuate minor differences.
Diff can process two files for differences and provides options for several flavors of output. There is even a diff3 so if you have a common starting point and files 2 developers made from it, you can merge their changes using the -e output into ex, to make the fourth corner. Of course, if they changed the same lines, it has more trouble -- time to have a local coding standard or a diff-friendly code beautifier.
Thanks, good idea...preprocessing the data. Let me think about how to do it. I tried the comm command. Would be fine, but the main issue is the multilevel structure. For now, I'm using an awk script to just find what is present in file 2 that is not present in file 1, manually going back to file 1 and repasting it under appropriate sections.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I need to compare 2 diff type of files and find out the duplicate after comparing each types of files:
Type 1 file name is like: file1.abc
(the extension abc could any 3 characters but I can narrow it down or hardcode for 10/15 combinations).
The other file is file1.bcd01abc (the extension... (2 Replies)
Discussion started by: ricky007
2 Replies
2. Shell Programming and Scripting
Hi,
I have a command "get_data" with some parameters in few *.text files of a directory. I want to first find those files that contain this command and then append the following parameter to the end of the command.
example of an entry in the file :-
get_data -x -m50 /etc/web/getid
this... (1 Reply)
Discussion started by: PrasannaKS
1 Replies
3. Shell Programming and Scripting
Hi
I want to compare 2 files. The files have the same amount of rows and columns. So each line must be compare against the other and if one differs from the other, the result of both must be stored in a seperate file.
I am doing this in awk.
Here is my file1:
Blocks... (2 Replies)
Discussion started by: ladyAnne
2 Replies
4. Shell Programming and Scripting
Hi all,
I have been searching online to find the answer for getting a list of files that do not match certain criteria but have been unsuccessful.
I have a directory that has many jpg files. What I need to do is get a list of the files that do not match both of the following patterns (I have... (21 Replies)
Discussion started by: nikos-koutax
21 Replies
5. Shell Programming and Scripting
Hi All,
I need help for below scenario :
I have a principals.xml_24092012backup file :
cat principals.xml_24092012backup
</user>
<user username="eramire" password="2D393C01720749256303D204826A374D9AE9ABABBF8A">
<roleMapping rolename="VIEW_EVERYTHING"/>
</user>
... (2 Replies)
Discussion started by: kiran_j
2 Replies
6. Shell Programming and Scripting
Hi,
I need help to find matched patterns in 30 files residing in a folder simultaneously. All these files only contain 1 column. For example,
File1
Gr_1
st-e34ss-11dd
bt-wwd-fewq
pt-wq02-ddpk
pw-xsw17-aqpp
Gr_2
srq-wy09-yyd9
sqq-fdfs-ffs9
Gr_3
etas-qqa-dfw
ddw-ppls-qqw... (10 Replies)
Discussion started by: redse171
10 Replies
7. Shell Programming and Scripting
Hi,
i have input files like below:-
input1
Name Seq_ID NewID Scores
MT1 A0QZX3 1.65 277.4
IVO A0QZX3 1.65 244.5
HPO A0QZX3 1.65 240.5
RgP A0Q3PP 5.32 241.0
GX1 LPSZ3S 96.1 216.9
MEL LPSS3X 4.23 204.1
LDD LPSS3X 4.23 100.2
input2
Fac AddName NewID ... (9 Replies)
Discussion started by: redse171
9 Replies
8. Shell Programming and Scripting
Hi,
I am trying to extract some patterns from a line. The input file is space delimited and i could not use column to get value after "IN" or "OUT" patterns as there could be multiple white spaces before the next digits that i need to print in the output file . I need to print 3 patterns in a... (3 Replies)
Discussion started by: redse171
3 Replies
9. Shell Programming and Scripting
Hi,
I have multiple files in my log folder. e.g:
a_m1.log
b_1.log
c_1.log
d_1.log
b_2.log
c_2.log
d_2.log
e_m1.log
a_m2.log
e_m2.log
I need to keep latest 10 instances of each file.
I can write multiple find commands but looking if it is possible in one line.
m file are monthly... (4 Replies)
Discussion started by: wahi80
4 Replies
10. Shell Programming and Scripting
Hello.
For a given folder, I want to select any files find $PATH1 -f \( -name "*" but omit any files like pattern name ! -iname "*.jpg" ! -iname "*.xsession*" ..... \) and also omit any subfolder like pattern name -type d \( -name "/etc/gconf/gconf.*" -o -name "*cache*" -o -name "*Cache*" -o... (2 Replies)
Discussion started by: jcdole
2 Replies
bdiff(1) User Commands bdiff(1)
NAME
bdiff - big diff
SYNOPSIS
bdiff filename1 filename2 [n] [-s]
DESCRIPTION
bdiff is used in a manner analogous to diff to find which lines in filename1 and filename2 must be changed to bring the files into agree-
ment. Its purpose is to allow processing of files too large for diff. If filename1 (filename2) is -, the standard input is read.
bdiff ignores lines common to the beginning of both files, splits the remainder of each file into n-line segments, and invokes diff on cor-
responding segments. If both optional arguments are specified, they must appear in the order indicated above.
The output of bdiff is exactly that of diff, with line numbers adjusted to account for the segmenting of the files (that is, to make it
look as if the files had been processed whole). Note: Because of the segmenting of the files, bdiff does not necessarily find a smallest
sufficient set of file differences.
OPTIONS
n The number of line segments. The value of n is 3500 by default. If the optional third argument is given and it is numeric, it is
used as the value for n. This is useful in those cases in which 3500-line segments are too large for diff, causing it to fail.
-s Specifies that no diagnostics are to be printed by bdiff (silent option). Note: However, this does not suppress possible diagnos-
tic messages from diff, which bdiff calls.
USAGE
See largefile(5) for the description of the behavior of bdiff when encountering files greater than or equal to 2 Gbyte ( 2**31 bytes).
FILES
/tmp/bd?????
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWesu |
+-----------------------------+-----------------------------+
|CSI |enabled |
+-----------------------------+-----------------------------+
SEE ALSO
diff(1), attributes(5), largefile(5)
DIAGNOSTICS
Use help for explanations.
SunOS 5.10 14 Sep 1992 bdiff(1)