Welcome to the Linux Foundation Forum!

script: rename files by using cksum

Hello,

I have to do a very simple task but being a newbie, it’s becoming a challenge

Here is what I have to do:

1. I have a bunch of *.html files – most of them are duplicates: file1.html, file6.html and file12.html could be duplicates.

2. I have to eliminates the duplicates by using the cksum and rename the files by using the ‘sum’ value (sum.html)

Something like:

$ cksum file1.html

339238769 1918 file1.html

$ cp file1.html 339238769.html

My script should be able to do this for several folders:

../folder1/*.html

../folder2/*.html

.......................

../folder100/*.html

Thanks for any help.

Comments

  • mfillpot
    mfillpot Posts: 2,177
    This should do what you want, be aware that I have not tested if
    #!/bin/bash
    
    for FILE in $(find . -name *.html)
    do
      DIR=$(dirname $FILE)
      NFILE=$(cksum $FILE|cut -d " " -f 1)
      mv $FILE $DIR/$NFILE.html
    done
    

Categories

Upcoming Training