很简单。当人们在命名文件时使用空格时,我无法忍受。有时会破坏控制台命令,并使ls的输出变得难看。
挑战是编写一个程序(仅ASCII字符),
- 将当前目录中的所有文件(包括目录)重命名为已删除空格或由'_'代替的版本
- 发生碰撞时,您需要附加一个唯一的标识符(由您自己决定)
- 递归地进入所有子目录
您可以采用UNIX样式的路径名。无论如何,谁会在Windows计算机上需要此程序?
这是代码高尔夫,最短的程序获胜(#ascii字符)。由于我非常讨厌空格,因此每个空格必须计数两次。
请提供您的语言,分数,程序以及运行方式的简短说明。
该程序必须在我的Linux机器上进行合理的编译和执行。
编辑:由于Etan请求测试的文件结构,这是我当前用来创建合适的文件树的脚本:
#!/bin/bash
rm -r TestDir
touchfiles()
{
    touch my_file
    touch my__file
    touch "my file"
    touch "my  file"
    touch " my_file  "
}
mkdir TestDir
cd TestDir
touchfiles
for dir in "Test Sub" Test_Sub "Te stSub" Te_stSub
do
    mkdir "$dir"
    cd "$dir"
    touchfiles
    cd ..
done