Wyszukiwarka zduplikowanych nazw plików w czystym C.

0

Siemacie!
Mam taki problem.
Potrzebuje napisać program w linuxie, który będzie przeszukiwał jakiś katalog w celu znalezienia folderów i plików których nazwa się powtarza.
Na przykład wywołanie programu wyświetli:
./kat2/nazwapliku ./inny/jakis/kat2/nazwapliku
./kat2 ./inny/jakis/kat2

Zastanawiam się w jaki sposób to zrobić:
czy za pomocą listy sktruktur, która będzie zawierała nazwy plików, i lecąć po tej liście będe poszukiwał duplikatów?
czy może jakaś wielka tablica ze ścieżką wszystkich plików (w końcu katalogi to w linuxie też jakiś rodzaj plików) i porównywał końce tych ścieżek?

Jeżeli ktoś się kiedyś z tym spotkał, to będe wdzięczny.
Dzięki.
Pozdrawiam.

0

taki OT calkowity:
moglbys mi przeslac kod ktory przeszukuje system plikow w linuxie (no bo chyba masz taki)? albo funkcje za pomoaca ktorych mozna to zrobic...

0

Uważam, że najlepiej byloby zrobić dwa drzewa binarne, jedno do katalogów drugie do plikow. W każdym rozgałęzieniu jest informacja o nazwie pliku/katalogu oraz scieżce do niego. Po kolei odczytujesz nazwy plikow/katalogów, jeśli sie powtarzają to zapisujesz "gdzieś na boku" np. w innym drzewie binarnym, albo w dynamicznej tablicy. I na końcu wypisujesz.

0

OT: A to musi być C ? Skrypt w perlu + find mógłby to bardzo ładnie realizować :)

jgr

0

Tak to musi być w C.

Myśle nad tablicą struktur, każda taka struktura posiadałaby nazwe pliku i dynamiczną tablicą zawierającą wszystkie ścieżki do tego pliku. Potem wyświetle te gdzie tych ścieżek jest więcej niż jedna.

Ale to drzewo binarne jest godne uwagi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1