मैं एक वेबसाइट बना रहा हूं और मैं अपनी छवियों के फ़ाइल नामों को रखना चाहता हूं।स्क्रिप्ट उनके फ़ाइल नाम के sha1() हैश का उपयोग करके फ़ाइलों का नाम बदलने के लिए
मैं एक बैश स्क्रिप्ट फ़ाइल कैसे बना सकता हूं जो पुरानी फ़ाइल नाम के sha1 के साथ निर्देशिका में प्रत्येक फ़ाइल का नाम बदलता है?
मैं कोशिश की है:
#!/bin/bash
for file in *
do
if [ -f "$file" ];then
newfile="openssl sha1 $file"
mv "$file" $newfile"
fi
done
लेकिन वह काम नहीं करता :(
संपादित
सुझाव के आधार पर यहाँ मैं इस कोशिश की:
#!/bin/bash
for file in old_names/*
do
if [ -f "$file" ];then
newfile=$(openssl sha1 $file | awk '{print $2}')
cp $file new_names/$newfile.png
fi
done
यह फ़ाइलों का नाम बदलता है, लेकिन मुझे यकीन नहीं है कि क्या हो रहा है फ़ाइल नाम का हैश इस्तेमाल किया। क्या विस्तार हुआ है? रास्ता किया?
जानकारी
मैं तो छवियों को प्रदर्शित करने PHP के SHA1() फ़ंक्शन का उपयोग करेगा:
echo "<img src=\"images/".sha1("$nbra-$nbrb-".SECRET_KEY).".png\" />\n";
परिभाषित करें 'काम नहीं करता'। – GolezTrol
क्या फ़ाइल नामों में स्पेस वर्ण हैं? –
'कुछ भी नहीं बदला जाता है' और 'नहीं' – Manu