To jest proste. Nie mogę znieść, gdy ludzie używają spacji podczas nazywania plików. Czasami psuje polecenia konsoli i powoduje, że wyjście ls jest brzydkie.
Wyzwanie polega na napisaniu programu (tylko znaki ascii), który
- zmienia nazwy wszystkich plików (w tym katalogów) w bieżącym katalogu na wersje ze spacjami usuniętymi lub zastąpionymi przez „_”
- w przypadku kolizji musisz dołączyć unikalny identyfikator (do ciebie)
- schodzi rekurencyjnie do wszystkich podkatalogów
Możesz założyć nazwy ścieżek w stylu UNIX. Kto i tak potrzebowałby tego programu na komputerze z systemem Windows?
To jest kod golfowy, wygrywa najkrótszy program (znaki #ascii). Ponieważ tak bardzo nienawidzę spacji, każde pole musi zostać policzone dwukrotnie.
Podaj swój język, wynik, program i krótki opis tego, jak go uruchomić.
Program musi się skompilować i uruchomić z rozsądnym wysiłkiem na moim komputerze z systemem Linux.
EDYCJA: Ponieważ Etan poprosił o strukturę plików do testowania, oto skrypt, którego obecnie używam do utworzenia odpowiedniego drzewa plików:
#!/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