Sponsored Content
Top Forums Shell Programming and Scripting An md5sum "Errorlevel" via Perl? Post 302902917 by Aia on Friday 23rd of May 2014 12:54:33 AM
Old 05-23-2014
Quote:
Originally Posted by LinQ
[...]

Consider the following snippet:
Code:
my $sumInfo = `md5sum test.txt --quiet -c checkFile`

When I consider the snippet I don't understand it.
I know the following:
Code:
md5sum test.txt

That creates a hash and output it to the stdout

Code:
md5sum -c checkFile

That checks the signature for every hash/file in checkFile

--quiet is just a flag to suppress some verbosity

But what does md5sum test.txt --quiet -c checkFile do.

Creates a hash for test.txt and check the integrity of what every hash mentioned is in checkFile? I think not.

---------- Post updated at 06:41 PM ---------- Previous update was at 06:31 PM ----------

Never mind. I see what it is doing.
It takes test.txt and checkFile as hash-files because of the -c regardless of the position of the flag

---------- Post updated at 10:54 PM ---------- Previous update was at 06:41 PM ----------

Perhaps you might benefit of implementing your own md5checks using native perl instead of making a system call.

Here's a tiny example of how to check the sums of some files in test.md5
You need to have the module Digest::MD5
This can easily be modified to your needs; to make it quiet or to give you a true or false return

Code:
#!/usr/bin/perl

# Author: Aia
# Date: 5-22-2014
# check_md5.pl
# reads a md5 hash file pair formatted file and checks its sum

use strict;
use warnings;
use Digest::MD5 qw(md5_hex);

my $md5_file = "test.md5";
my %groups;  


open my $fh_in, '<', $md5_file or die "Can't open $md5_file: $!\n";
while (my $line = <$fh_in>) {
    chomp $line;
    my ($key, $value) = split(" ", $line);
    $groups{$key} = $value;
}

close ($fh_in);

for my $key (keys %groups) {
    open my $fh, '<', $groups{$key} or die "Can't open $groups{$key}: $!\n";
    binmode ($fh);
    my $md5 = Digest::MD5->new;
    $md5->addfile($fh);
    close ($fh);
    if (  $key eq $md5->hexdigest ) {
        print "$groups{$key}: OK\n";
    }
    else {
        print "$groups{$key}: FAILED\n";
    }
}

This User Gave Thanks to Aia For This Post:
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

2. Shell Programming and Scripting

perl folder list with "..", without ".".

Hi Everyone, if my folder "foldera" inside has one file. so if i do if ($df =~ /^\./) { next; } then i will get ### filea ### if i want to have ### .. filea ### means also display the parent .., how should i modify the perl ~// in my code? Thanks ---------- Post updated... (6 Replies)
Discussion started by: jimmy_y
6 Replies

3. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

4. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

5. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

6. Shell Programming and Scripting

Perl failure with "main::$fn" used only once:" in error logs

Hi all, Can anyone guess why this is happening? I am new to Perl, so please help me to fix this error: - I have a static html file which calls the cgi-perl script. HTML Code: <html> <head> <title> Hey Dude! </title> </head> <body> <form method="POST"... (3 Replies)
Discussion started by: bashily
3 Replies

7. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

8. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

9. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies
All times are GMT -4. The time now is 05:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy