Seeking Alternative for diff in hp


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Seeking Alternative for diff in hp
# 1  
Old 12-08-2016
Wrench Seeking Alternative for diff in hp

Hi ,

I have to use HP-unix OS to get difference between 2 files.while i tried a piece of code in other OS(linux/unix) as below, it worked fine & the output is desired one.
Code:
 diff --suppress-common-lines -y file_1 file_2 >d.txt

The same doesn't works in HP -unix. Any help shall be thankful.Meanwhile, i also trying my hands with difference options.

NOTE: this code will generate a report of DB comparison & specific format is needed in output which is almost achieved by above code.Cosmetic changes can be applied later, if required.
# 2  
Old 12-08-2016
Can't you install the GNU diff on HP-UX? See here: http://hpux.connect.org.uk/hppd/hpux/Gnu/diffutils-3.3
# 3  
Old 12-08-2016
As i mentioned the environment remains HP.There is no scope of any installation.
# 4  
Old 12-08-2016
You don't need to install them system-wide. Just distribute it together with your script. After all, it's free software, available in source code. You could equally well write your own diff tool, but why do so if something is already available?
# 5  
Old 12-09-2016
Will you please advise how to do so ?
# 6  
Old 12-09-2016
When you run configure, you can explicitly set the directory where the tools get installed to. You can set it for instance to the same directory where you have stored your shell scripts.

The details are described in the file INSTALL in the section "Installation Names". You can look at this file even before downloading evreything: 400 Bad Request

You do have a C-compiler on your HP-UX, don't you?
# 7  
Old 12-09-2016
Hi.

For the install of GNU diff, it looks like there are also dependencies to be installed:
Code:
gettext 	libiconv 	libunistring 	make
http://hpux.connect.org.uk/hppd/hpux/Gnu/diffutils-3.3/

Best wishes ... cheers, drl

---------- Post updated at 09:51 ---------- Previous update was at 09:36 ----------

Hi.

For this specific case, one can come quite close with a perl script. Here's a comparison between the two. This perl version -- which does only -y and --suppress-common-lines -- is file sdiff.pl.
Code:
#!/usr/bin/env bash

# @(#) s1       Demonstrate comparison, diff, standard, work-alike.

LC_ALL=C ; LANG=C ; export LC_ALL LANG
pe() { for _i;do printf "%s" "$_i";done; printf "\n"; }
pl() { pe;pe "-----" ;pe "$*"; }
em() { pe "$*" >&2 ; }
db() { ( printf " db, ";for _i;do printf "%s" "$_i";done;printf "\n" ) >&2 ; }
db() { : ; }
C=$HOME/bin/context && [ -f $C ] && $C diff ./sdiff.pl

pl " Input data files data[12] columnized":
paste data[12] |
align

pl " Results, diff:"
diff -y --suppress-common-lines data1 data2 |
align

pl " Results, perl:"
./sdiff.pl data1 data2 |
align

exit 0

producing:
Code:
$ ./s1

Environment: LC_ALL = C, LANG = C
(Versions displayed with local utility "version")
OS, ker|rel, machine: Linux, 3.16.0-4-amd64, x86_64
Distribution        : Debian 8.6 (jessie) 
bash GNU bash 4.3.30
diff (GNU diffutils) 3.3
./sdiff.pl - ( local: ./sdiff.pl, 2016-12-08 )

-----
 Input data files data[12] columnized:
a       b
b       c
c       d
e       e
h       f
j       j
l       k
m       l
n       m
p       r
        s
        t

-----
 Results, diff:
a <
  > d
h | f
  > k
n | r
p | s
  > t

-----
 Results, perl:
a <
  > d
h | f
  > k
n | r
p | s
  > t

However, as with installing the GNU diff, there are also perl dependencies to consider:
Code:
sdiff.pl        Demonstrate work-alike for diff -y, ignore common, perl. (what)
Path    : ./sdiff.pl
Version : - ( local: ./sdiff.pl, 2016-12-08 )
Length  : 83 lines
Type    : Perl script, ASCII text executable
Shebang : #!/usr/bin/env perl
Modules : (for perl codes)
 Data::Dumper   2.151_01
 Algorithm::Diff        1.1902

On the system I use:
Code:
OS, ker|rel, machine: HP-UX, B.11.11, 9000/785
Distribution        : GenericSysName [HP Release B.11.11] (see /etc/issue)
perl 5.10.1

the module Algorithm::Diff was not installed. It may be on your system, but if not, then you are in roughly the same situation as installing GNU diff.

Good luck ... cheers, drl
These 2 Users Gave Thanks to drl For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Diff 3 files, but diff only their 2nd column

Guys i have 3 files, but i want to compare and diff only the 2nd column path=`/home/whois/doms` for i in `cat domain.tx` do whois $i| sed -n '/Registry Registrant ID:/,/Registrant Email:/p' > $path/$i.registrant whois $i| sed -n '/Registry Admin ID:/,/Admin Email:/p' > $path/$i.admin... (10 Replies)
Discussion started by: kenshinhimura
10 Replies

2. Shell Programming and Scripting

Seeking help with search

Hello All, I'm looking for some help with grepping for two specific strings in files with multiple lines. For instance, I have files and the content looks like this: =====Start===== Record:1 Field 1 = aaaaaaaaaa Field 2 = bbbbbbbbbb Field 3 = 1234567890 ... (9 Replies)
Discussion started by: bbbngowc
9 Replies

3. Shell Programming and Scripting

serach diff filename in diff location using shell scripting

Hi, I am new to shell scripting. please help me to find out the solution. I need a script where we need to read the text file(consists of all file names) and get the file names one by one and append the date suffix for each file name as 'yyyymmdd' . Then search each file if exists... (1 Reply)
Discussion started by: Lucky123
1 Replies

4. Shell Programming and Scripting

.procmailrc and uudeview (put attachments from diff senders to diff folders)

Moderator, please, delete this topic (1 Reply)
Discussion started by: optik77
1 Replies

5. Shell Programming and Scripting

Simulate SVN diff using plain diff

Hi, svn diff does not work very well with 2 local folders, so I am trying to do this diff using diff locally. since there's a bunch of meta files in an svn directory, I want to do a diff that excludes everything EXCEPT *.java files. there seems to be only an --exclude option, so I'm not sure... (3 Replies)
Discussion started by: ackbarr
3 Replies

6. UNIX for Dummies Questions & Answers

Problems using rsync in Leopard with SSH... seeking solution/alternative

Precursor: ...it may sound like I'm at least somewhat comfortable with Unix, but I'm far from it. Layman's terms would be greatly appreciated :) Okay, so here's the situation. I created a website using iWeb, and I'm not using a .Mac account (you can sync website in one click if you do). Being... (4 Replies)
Discussion started by: compulsiveguile
4 Replies

7. Shell Programming and Scripting

seeking help with shell script

I am trying to update a script which I had created to monitor tablespace usage. Originally the sql spooled out to a text file anything with more than 75% used. I have been asked to change this. Now the sql must spool out all tablespaces. The script I have to write should scan the file for... (4 Replies)
Discussion started by: Niadh
4 Replies

8. UNIX for Dummies Questions & Answers

Seeking help...Urgent!!! Please help me...

Can any1 please help me answer a couple of this question? 1) What is the process management of UNIX? (single task, multitasks, etc...) 2) What is the process management of Linux? (single task, multitasks, etc...) 3) What is the type of process of UNIX? (process, thread, etc...) 4)... (1 Reply)
Discussion started by: blind02002
1 Replies

9. Shell Programming and Scripting

diff 2 files; output diff's to 3rd file

Hello, I want to compare two files. All records in file 2 that are not in file 1 should be output to file 3. For example: file 1 123 1234 123456 file 2 123 2345 23456 file 3 should have 2345 23456 I have looked at diff, bdiff, cmp, comm, diff3 without any luck! (2 Replies)
Discussion started by: blt123
2 Replies
Login or Register to Ask a Question

Featured Tech Videos