Japoński programista Keigo Oka udowodnił, że na podstawie narzędzi GNU find i mkdir można stworzyć środowisko obliczeniowe, które jest Turingowsko pełne, tzn. pozwala na realizację dowolnej funkcji obliczeniowej i replikację samego siebie. Wcześniej możliwość stworzenia takiego środowiska została pokazana dla narzędzi sed i awk. Aby potwierdzić pełnię Turinga, zaprezentowane zostały realizacje gry Fizz buzz oraz automatu komórkowego działającego według „reguły 110” przy wykorzystaniu połączenia find i mkdir.
Aby zorganizować pracę pętli przy użyciu find i mkdir, wykorzystano trik z rekurencyjnym tworzeniem podkatalogów, w którym ograniczenie liczby iteracji osiągnięto za pomocą opcji „-maxdepth” (na przykład dla pętli z 3 iteracjami można uruchomić „find x -maxdepth 3 -execdir mkdir x/x \;”). Liczba dozwolonych iteracji napotyka ograniczenia systemu plików dotyczące tworzenia zagnieżdżonych katalogów i maksymalnej długości ścieżki pliku. Wywołanie warunkowych operacji zorganizowano za pomocą wyrażeń regularnych dostępnych przez opcję „-regex” (na przykład, aby wyświetlić napis „Buzz” dla liczb podzielnych przez 5, można użyć ‘-regex ‘d((\/x){5})+’ -printf „Buzz\n”‘).
Źródło: opennet.ru
