很简单。当人们在命名文件时使用空格时,我无法忍受。有时会破坏控制台命令,并使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