04-15-2009
Compare EDI files by skipping selected Segments
Hi,
I wanted to compare EDI files present in Two different Directories which can be related by the file names. While comparing the EDI files i have to skip selected segments such as "ISA" "IEA" and "GS" "GE" since this may have datetime stamp and different "Sender" "Receiver" Qual.
and create a report based on this. The directories may have unequal number of files. (i.e) some files may not have a pair in the other directory so have to be take care too..
Regards,
Siva
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I wanna remove a set files other than some selected files.
Eg.
:rolleyes::rolleyes::rolleyes:
a directory contains n files like
test1.dat
test2.dat
test3.dat
test4.dat
out5.dat
out1.dat
i wanna remove all files which doesnot name like *test*
I want to use this in shell... (22 Replies)
Discussion started by: freakygs
22 Replies
2. Shell Programming and Scripting
I have learned file comparison from my previous post here. Then, it is comparing the whole line. Now, i have a new problem.
I have two files with 3 columns separated with a "|". What i want to do is to compare the second and third column of file 1, and the second and third column of file 2. And... (4 Replies)
Discussion started by: kingpeejay
4 Replies
3. Shell Programming and Scripting
I am trying to print 1st, 2nd, 13th and 14th fields of a file of line numbers from 29 to 10029. I dont know how to put this in one code. Currently I am removing the selected lines by
awk 'NR==29,NR==10029' File1 > File2
and then doing
awk '{print $1, $2, $13, $14}' File2 > File3
Can... (3 Replies)
Discussion started by: ananyob
3 Replies
4. Shell Programming and Scripting
hi! i researched about comparing two columns here and got an answer. but after examining my two files, i found out that the first columns of the two files are not unique with each other. all i want to compare is the 2nd and 3rd column.
FILE 1:
ABS 456 315
EBS 923 163
JYQ3 654 237
FILE 2:... (1 Reply)
Discussion started by: engr.jay
1 Replies
5. Shell Programming and Scripting
hi! i have two files that looks like this
file 1:
ABS 123 456
BCDG 124 542
FGD 459 762
file 2:
ABS 132 456
FGD 459 762
output would be:
from file1:
ABS 132 456
BCDG 124 542
from file 2:
ABS 132 456 (4 Replies)
Discussion started by: kingpeejay
4 Replies
6. UNIX for Dummies Questions & Answers
I have 2 files with the same header and need to append them and put the result in a 3rd file
the 2 files has the same header and while appending i want to skip the second file header and need the result to be put in a third file
Normally, this would work
Cat file1 file2 >> file3....But how... (5 Replies)
Discussion started by: saggiboy10
5 Replies
7. Shell Programming and Scripting
Hi,
In file zip folder i have many files but i want to extract onlu .LOG file from the zip.
How can i achive this
Rajesh (3 Replies)
Discussion started by: guddu_12
3 Replies
8. Shell Programming and Scripting
How do I move all folders and its contents from a directory A to another directory B, skipping all files in Directory A ?
---------- Post updated at 12:53 PM ---------- Previous update was at 12:42 PM ----------
Ok. Got it.
mv /A/*/ /B/ (1 Reply)
Discussion started by: DHeisenberg
1 Replies
9. Shell Programming and Scripting
I've one EDI file which is to be parsed into 7 different file.
I managed to extract required segments for a file(HEADER) to a separate file(sample3.dat) and is given below.
$ cat sample3.dat
REF*EI*273543997~
REF*2U*HELLO~
REF*G2*77685|132~
CLM*1000*0.00***12>B>1*N*A*Y*I~
CN1*05~... (5 Replies)
Discussion started by: ashokv3
5 Replies
10. Shell Programming and Scripting
// Redhat
I am running a cron with cp every 15 minutes.
cp /p2/arch/log/* /p2/bkp
What I need is to not to copy the file again if the filename already exists under /p2/bkp
The reason is that the file size under /p2/arch/log/ will be reduced (contents truncated), so I need to keep the... (10 Replies)
Discussion started by: Daniel Gate
10 Replies
LEARN ABOUT MOJAVE
data::compare::plugins
Data::Compare::Plugins(3) User Contributed Perl Documentation Data::Compare::Plugins(3)
NAME
Data::Compare::Plugins - how to extend Data::Compare
DESCRIPTION
Data::Compare natively handles several built-in data types - scalars, references to scalars, references to arrays, references to hashes,
references to subroutines, compiled regular expressions, and globs. For objects, it tries to Do The Right Thing and compares the
underlying data type. However, this is not always what you want. This is especially true if you have complex objects which overload
stringification and/or numification.
Hence we allow for plugins.
FINDING PLUGINS
Data::Compare will try to load any module installed on your system under the various @INC/Data/Compare/Plugins/ directories. If there is a
problem loading any of them, an appropriate warning will be issued.
Because of how we find plugins, no plugins are available when running in "taint" mode.
WRITING PLUGINS
Internally, plugins are "require"d into Data::Compare. This means that they need to evaluate to true. We make use of that true value.
Where normally you just put:
1;
at the end of an included file, you should instead ensure that you return a reference to an array. This is treated as being true so
satisfies perl, and is a damned sight more useful.
Inside that array should be either a description of what this plugin is to do, or references to several arrays containing such
descriptions. A description consists of two or three items. First a string telling us what the first data-type handled by your plugin is.
Second, (and optional, defaulting to the same as the first) the second data-type to compare. To handle comparisons to ordinary scalars,
give the empty string for the data-type, ie:
['MyType', '', sub { ...}]
Third and last, we need a reference to the subroutine which does the comparison. That subroutine should expect to take two parameters,
which will be of the specified type. It should return 1 if they compare the same, or 0 if they compare different.
Be aware that while you might give a description like:
['Type1', 'Type2', sub { ... }]
this will handle both comparing Type1 to Type2, and comparing Type2 to Type1. ie, comparison is commutative.
If you want to use Data::Compare's own comparison function from within your handler (to, for example, compare a data structure that you
have stored somewhere in your object) then you will need to call it as Data::Compare::Compare. However, you must be careful to avoid
infinite recursion by calling D::C::Compare which in turn calls back to your handler.
The name of your plugins does not matter, only that it lives in one of those directories. Of course, giving it a sensible name means that
the usual installation mechanisms will put it in the right place, and meaningful names will make it easier to debug your code.
For an example, look at the plugin that handles Scalar::Properties objects, which is distributed with Data::Compare.
DISTRIBUTION
Provided that the above rules are followed I see no reason for you to not upload your plugin to the CPAN yourself. You will need to make
Data::Compare a pre-requisite, so that the CPAN.pm installer does the right thing.
Alternatively, if you would prefer me to roll your plugin in with the Data::Compare distribution, I'd be happy to do so provided that the
code is clear and well-commented, and that you include tests and documentation.
SEE ALSO
Data::Compare
Data::Compare::Plugins::Scalar::Properties
AUTHOR
Copyright (c) 2004 David Cantrell <david@cantrell.org.uk>. All rights reserved. This program is free software; you can redistribute it
and/or modify it under the same terms as Perl itself.
perl v5.18.2 2011-07-23 Data::Compare::Plugins(3)