将目录中所有文件的名称更改为随机字符串

时间:2010-10-08 15:54:42

标签: bash file random rename

目的:

  • 将目录中所有文件的名称更改为相同长度的随机字符串
  • 将此文件列在另一个文件中(可以从中进行sql查询)

我认为bash会很棒,但我不知道怎么做,你能帮助我吗?

1 个答案:

答案 0 :(得分:3)

有很多方法......例如:

random_string() { 
  echo "$(date +%s%N)$RANDOM" | md5sum | awk '{print $1}' 
}

find /path/to/files -type f | while read FILE; do 
  EXTENSION=${FILE##*.}
  mv "$FILE" "$(dirname "$FILE")/$(random_string).$EXTENSION"
done