Jak usunąć duplikaty linków lub nazw w plikach tekstowych?

Jak porównać listę linków? A dokładniej chodzi o to, że chcę znależć różnice między dwoma plikami tekstowymi zawierającymi linki, jakie linki nie znajdują się na drugiej liście i(wskazać tylko te linki nie znajdują się na innej liście)

W Total Commander jest funkcja: Pliki–>Porównaj według zawartości.

I jak skopiowac wszystkie (tylko te linki , które są inne w porównaiu z inną listą?) Nie ma takiej możliwości w TC

Możesz skorzystać z programów specjalnie do tego napisanych (tj usuwanie-duplikatow-pliku-t446613.html)

drobrok nie !

Ja mam 1.txt i chcę porównać z 2.txt i wynikowy dać tylko te linki**(nie pliki!)** których brakuje w 2.txt.

Te programy usuwają wszystkie powtarzające się wiersze z pliku (jednego). Jednak jeśli chcesz otrzymać listę z 1 pliku elementów nie znajdujących się w drugim mógłbyś użyć do tego większości programów do porównywania zawartości plików.

Ok ale możesz wytłumaczyć krok po kroku ?

np. w Total Commander. Ale wątpie czy nim uda się porównac pliki tekstowe i skopiowac brakujące.

Chcę aby znalazło różnicę brakujących lini(linki np. zippyshare)( bez dodawania do istniejących)

i żeby skopiowac tylko te brakujące a inne nie

Próbowałem w Diff doc .

Znajduje ale nie można wybrać wszystkich naraz tych brakujących i skopiować

PSPad tez źle to robi…

porownujemy-dwa-pliki-t341394.html Nawet tym programem nie można skopiować samych róznic(albo kopiuje 1 link albo wszystko)

I co nikt nie wie jak to zrobić?

Przykład

1.TXT

site.com/abc12345

site.com/abc54321

site.com/abc87654321

2.TXT

site.com/abc7000

site.com/abc12345

site.com/abc54321

site.com/abc87654321

więc różnica jest taka brakuje

site.com/abc76589

site.com/abc7000

więc jak to porównać i skopiowac do nowego pliku tekstowego WSZYSTKIE brakujące linki?

TEMAT ROZWIĄZANY.

W programie

O co tu chodzi w tym programie? Nie mogę się w nim połapać !!

Zrobiłem tak jak podałeś i nie usuwa zadnych duplikatów poza tym ucina “tekst”( może za długi na ten program?)

Poddaje się nie mam już innego pomysłu.

Program nie obsługuje bardzo długich plików tekstowych. Drastycznie skraca text. Więc odpada.

Twój przykład :

1.TXT

site.com/abc12345

site.com/abc54321

site.com/abc87654321

2.TXT

site.com/abc7000

site.com/abc12345

site.com/abc54321

site.com/abc87654321

więc różnica jest taka brakuje

site.com/abc76589

site.com/abc7000

nie jest poprawny bo brakuje tylko: site.com/abc7000, a takiego wpisu: site.com/abc76589 nie ma w żadnym tekście.

W każdym bądź razie z tego przykładu zorientowałem się, że chodzi ci o różnicę między drugim tekstem, a pierwszym i to nie jest to samo co różnica między pierwszym tekstem i drugim. Z tego powodu program wyznacza obie różnice.

Trzeba było od razu napisać, że chcesz przetwarzać dziesiątki czy setki tysięcy linków bo w takim razie te okienka tekstowe są całkowicie niepotrzebne. W zasadzie to wystarczyło by wpisanie tylko linków do tych plików, ale nie chce mi się całkowicie przerabiać tego programiku i zrobiłem tak, że jeżeli plik jest zbyt duży to wczytywany jest do notatnika, ot tak tylko dla informacji. Jeżeli chcesz spróbować jeszcze raz, to musiał byś ponownie ściągnąć ten program. Jeżeli pliki będą większe niż 64 kb to zostaną wczytane do notatnika, a po znalezieniu różnicy zgodnie z Twoją sugestią nowy plik zostanie zapisany z dodaną do nazwy końcówką: …roznica2.txt.

W razie potrzeby zawsze można otworzyć ten plik drugi jako pierwszy, a potem wczytać ten drugi.

Czy program zadziała poprawnie to zależy jak duże są te pliki o czym nie napisałeś.

Ja sprawdziłem na pliku 7 MB z 80000 linków i trwało, to około 2,5 minut czyli trochę wolno. Taki programik można napisać by działał znacznie szybciej, ale ja nie mam w tej chwili takich możliwości.

Faktycznie floyd z tamta listą przykładowa co napisałem na forum jest trochę niepoprawna.

Ale mam nadzieję, że wiesz o co mi w tym wszystkim chodzi. A dowiesz się gdy przeczytasz tekst na “zielono”.

A teraz opiszę w miare zrozumiale to co chcę osiągnąć:

  1. Lista początkowa (Linki stare)

porównać z …

  1. Lista najnowsza (może zawierać nowe linki plus takie, które znajdują się w liście początkowej

Chcę aby z listy 1 i listy 2

znalazło mi tylko te linki, których nie ma na liście początkowej(1).

Rozumiesz?

floyd - Pobrałem nowa wersję.

Znalazło mi różnice ale skąd mam pewność czy zrobiło to dokładnie tak jak napisałem powyżej ???

[Wczytałem około 100000 linków około 3,5 MB.]

Próbowałem to zrobić w Microsoft Word 2007

Znalazło mi około 48000 róznic. (Z czego program błędnie wskazał niektóre linki(nie wiem ile dokładnie)) są zaznaczone na “CZARNO”, które znajdują się na liście 1 i 2. Więc lista jest niedokładna.

Ja potrzebuje dokładności.

Twój program znalazł 49044 różnic.

ale czy naprawdę prawidłowo tego nie umiem powiedzieć…

Poza tym program zaczyna mi się podobać… A podobał by mi się jeszcze bardziej gdybym miał pewność czy robi to poprawnie( nie chcę pominąć, przegapić, dodawać tych samych linków itp.)

Program komputerowy nie może się mylić bo to automat i albo coś robi dobrze albo źle.

Ja sprawdzałem, to biorąc duży plik i po stworzeniu jego kopii zmieniłem w tej kopii tylko jedną linijkę lub dodałem jedną linijkę w dowolnym miejscu, a następnie porównałem te pliki. Program znalazł tę jedną linijkę i znajdzie ją nawet gdyby powtarzać tę czynność 1000 razy bo nie może się pomylić, mylą się ludzie :slight_smile:

Inna sprawa czy program został napisany zgodnie z naszymi oczekiwaniami i czy dane wejściowe są prawidłowe, np. czy w tekście nie występują jakieś niedozwolone znaki bo wówczas mogą być kłopoty albo czy każdy link kończy się znakiem końca linii czyli jest w nowym wierszu.

Np. nie napisałeś też czy program ma rozróżniać wielkość liter. W tej chwili jest tak, że program rozróżnia duże i małe litery, a zatem

linki: http://dobreprogramy.pl i http://DobreProgramy.pl będą uznane za różne linki. Napisz jak, to ma być z tymi literami.

Jeszcze jedna uwaga: Na forum nie można pisać zgodnie z regulaminem w zielonym czy czerwonym kolorze. Możesz dostać ostrzeżenie. :wink:

Tylko i wyłącznie małe litery w linkach.

Bardzo dużo linków jest w rzędzie jeden pod drugim

np.

site.com/abc1

site.com/abc2

site.com/abc3

(zmienia się TYLKO liczba)

ale mogą zdarzać się inne troszkę nietypowo(mogą nie być w rzedzie, są spację, jakieś znaki np. % itp.) ale postaram sie je usunąć.

Każdy link MUSI być w nowej linii i trzeba usuń wszystkie spacje choćby w notatniku funkcją zamień (w obu plikach) ale wcześniej należy spowodować aby każdy link był w innej linii (to też dało by się zrobić programowo ale wówczas program by służył tylko do obsługi linków). Mógłbym to zrobić w programie, ale przecież program nie służy tylko dla Ciebie i w innych tekstach spacje są czymś normalnym. Znaki występujące w linkach też są czymś normalnym i nie trzeba ich usuwać.

Jeżeli tych linków występujących w jednej linii jest więcej to naprawa może być trochę kłopotliwa. Postaram się zrobić na jutro taką opcję umożliwiającą usuwanie wszystkich spacji i przenoszenie każdego linku do nowej linii. :slight_smile:

Typowe linki są prawidłowo, kolejno i ładnie posortowane (np. bez spacji). Używam do tych celów rewelacyjny program PSPad.

Jakieś dłuższe linki z innymi nazwami przypadkowo coś w nich zmieniałem i są pomieszane lub niepotrzebnie połączone.

Zapiszę je w innym miejscu.

A co jeśli jest “podkreślona spacja”? --> _