md5sum output append


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting md5sum output append
# 8  
Old 06-18-2011
Running complex external utilities like cut and awk to operate on single lines is very wasteful. You might be spending more time loading and quitting these things than doing anything else. You can improve that a lot by using read's own built-in processing abilities.

Code:
find /path/to/files -type f -printf "%p %A+ %6s %T+ %C+\n" |
while read name atime size mtime ctime
do
        # sets $1 to md5sum output, $2 to filename, etc.
        set -- `md5sum $name`
        echo "$atime (a), $size, $name $1"
        echo "$mtime (m), $size, $name $1"
        echo "$ctime (c), $size, $name $1"
done

Or since you were using awk anyway, do it all in awk:

Code:
# -print pattern has no %p or newline.  then it runs md5sum which adds both 
find /path/to/files -type f -printf "%A+ %6s %T+ %C+ " -exec md5sum '{}' ';' |
awk '{
        print $1, "(a),", $2 ",", $6, $5;
        print $3, "(m),", $2 ",", $6, $5;
        print $4, "(c),", $2 ",", $6, $5;
}'


Last edited by Corona688; 06-18-2011 at 06:59 PM..
# 9  
Old 06-19-2011
Hi Corona688,
Thanks a million for the reply. The reason I had to use cut was because it was the only way I could get it to work with spaces in the directory. No matter what I tried I couldn't get awk to work with md5sum correctly. You first method has problems with spaces as well., but your second method using awk seems to work although it does truncate the directory it does seem to generate the md5sum fine... and it seems faster than my method so I will have a better look at that one.

Thanks a million Corona688...

---------- Post updated at 06:04 AM ---------- Previous update was at 05:34 AM ----------

Hi Corona688,

Your second piece of code seems to be perfect. And unless I am missing something I don't need the awk part.

Code:
find /media/Vista/ProgramData/ -type f -printf "%A+ %T+ %C+ %6s " -exec md5sum '{}' ';'

It does create it all on one line, but to be honest this is probably for the best, meaning I need only have one line for each file I work with. Its a lot faster and only uses much less storage space (file or db)... I will test it a bit more, but think its the perfect answer. Thank you very much.
# 10  
Old 06-20-2011
No, you don't need the awk part, all that was for was to turn it into three lines Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

WHy do we need both append and output directives?

Hi, I was reviewing a shell script and I found this line: yum -y update >> >(/usr/bin/tee /var/log/file) I have tried removing the >> directive and all that will occur is that the file will be created--nothing gets put in the file. If I put back the >> directive it works. If I remove the... (3 Replies)
Discussion started by: mojoman
3 Replies

2. Shell Programming and Scripting

How to append the output in a new column?

input1 john 20 bob 30 input2 john 60 bob 100 cat input1 >> output cat input2 >> output ouput john 20 bob 30 john 60 bob 100 desired output input1 input1 input2 input2 john 20 john 60 (3 Replies)
Discussion started by: quincyjones
3 Replies

3. Shell Programming and Scripting

Append to a file repeating output

Hello, i'm trying to force a command to read every second from an interface watch -n1 (command) /dev/x | cat >> output but it continue to overwrite the file, without append the content Thanks and advace for help as usual regards (4 Replies)
Discussion started by: Board27
4 Replies

4. Shell Programming and Scripting

How to append a value to the output after using sed command?

Hi All, I have a file where I am converting newlines to comma separated values but I would like to append zero if the output is empty Here is the command I am using sed -n -e 'H;${x;s/\n/,/g;s/^,//;p;}' test1.txt test1.txt will have comma seperated values but sometimes this file can be... (6 Replies)
Discussion started by: rajeevm
6 Replies

5. Shell Programming and Scripting

append an output file with two columns

Hi All, can you help me with this: grep XXX dir/*.txt|wc -l > newfile.txt - this put the results in the newfile.txt, but I want to add another column in the newfile.txt, string 'YYYYY', separated somehow, which corresponds on the grep results? For example grep will grep XXX dir/*.txt|wc -l >... (5 Replies)
Discussion started by: apenkov
5 Replies

6. Shell Programming and Scripting

Append the output data horizontally

Hi experts i have a simple script that fetches the count from different servers and inserts ahead of server name like below servera,1 serverb,25 serverc,35 what i want to do is now when i run this script next day i want that output to be next to the earlier one like below and if possible... (5 Replies)
Discussion started by: raj2989
5 Replies

7. UNIX for Dummies Questions & Answers

Output to file but append rather than overwrite?

I am running a command which has a parameter that outputs the results to a file each time it is run. Here is the command: --fullresult=true > importlog.xml Can I add the output to the file rather than creating a new one which overwrites the existing one? If not can I make the file name... (2 Replies)
Discussion started by: Sepia
2 Replies

8. Shell Programming and Scripting

How to append the output continously from a script

Hi All, Am using the below script to produce some statistics. Currently it send the results to a log file and sends the contents of the log to a mail ID. Next time when it runs it erases the previous log and writes the latest output to the log file. I want the output to be appended to... (2 Replies)
Discussion started by: nirmal84
2 Replies

9. Shell Programming and Scripting

Append Output to another file in Perl

Hi All, I am writing a Perl script such that the output from "perl myscript.pl file1" to be appended to another file name called file2. I tried out with the below code but couldn't work. Can any expert give me some advice? open(OUTPUT, 'perl myscript.pl file1 |'); close OUTPUT;... (7 Replies)
Discussion started by: Raynon
7 Replies

10. Shell Programming and Scripting

Append output to file

Hi, I have a script below. It get's the data from the output of a script that is running hourly. My problem is every time my script runs, it deletes the previous data and put the current data. Please see output below. What I would like to do is to have the hourly output to be appended on the... (3 Replies)
Discussion started by: ayhanne
3 Replies
Login or Register to Ask a Question