我正在構建一個網站,我想哈希圖像的文件名。使用其文件名的sha1()哈希來重命名文件的腳本
如何創建一個bash腳本文件,以舊文件名的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 2011-02-18 14:00:15
文件名是否包含空格字符? – 2011-02-18 14:04:54
'沒有被重命名'和'沒有' – Manu 2011-02-18 14:17:30