それは単純だ。ファイルの命名時に人々がスペースを使用するとき、私は我慢できません。それは時々コンソールコマンドを破壊し、lsの出力をくします。
課題は、プログラム(ASCII文字のみ)を記述することです。
- 現在のディレクトリ内のすべてのファイル(ディレクトリを含む)の名前を、スペースが削除または '_'に置き換えられたバージョンに変更します
- 衝突時には、一意の識別子を追加する必要があります(あなたまで)
- すべてのサブディレクトリに再帰的に下降します
UNIXスタイルのパス名を想定できます。とにかくWindowsマシンでこのプログラムが必要なのは誰ですか?
これはコードゴルフで、最短のプログラムが勝ちます(#ascii文字)。私はスペースがとても嫌いなので、各スペースを2回カウントする必要があります。
言語、スコア、プログラム、および実行方法の簡単な説明を入力してください。
プログラムは、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