【问题标题】:change names of all files in a directory to random strings将目录中所有文件的名称更改为随机字符串
【发布时间】:2011-04-22 23:27:58
【问题描述】:

目的:

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

我认为 bash 会很适合它,但我不知道该怎么做,你能帮帮我吗?

【问题讨论】:

  • 你到底为什么要这样做?
  • @Dave 这些文件是图像。我想在基于浏览器的游戏中使用它们,我不想让用户破解游戏并通过猜测图像的地址来知道该游戏中的下一个图像。
  • 好的,这是有道理的。不过,我对你没有任何帮助;我只是好奇。

标签: bash file random rename


【解决方案1】:

有很多方法...例如:

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

【讨论】:

    猜你喜欢
    • 2017-05-29
    • 2012-02-29
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    相关资源
    最近更新 更多