Porovnání textu

Porovnání textu
« kdy: 25. 10. 2019, 21:24:57 »
Ahoj mládeži hledám script/soft který porovná origo text (7000řádků) s druhým textem znatelně "poškozeným" (1řádek)
např:

poškozený
With these hands, and the blessings of the sactedisulthoistls seome tolife. My sweet
original
With these hands, and the blessings of the sacred solenoid, she´s come to life. My sweet

Porovnávalo by se z textu o 7tisíc řádku a podle nejvetsi podobnosti vyhodnotit shodu...
To už chci asi hodně že :D
« Poslední změna: 25. 10. 2019, 21:26:43 od Aleš Dvoika »


Mlocik97

  • *****
  • 831
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Porovnání textu
« Odpověď #1 kdy: 25. 10. 2019, 21:34:06 »
Do Google stačí zadať "Diff app" a nájdete ich mraky. napr. https://www.diffchecker.com/desktop zadarmo napríklad https://sourceforge.net/projects/diffuse/
« Poslední změna: 25. 10. 2019, 21:36:45 od Gabriel Mlocik »

Re:Porovnání textu
« Odpověď #2 kdy: 26. 10. 2019, 23:28:19 »
tnx za odpoved....jak prosimte dostanu ten řádek do clipboardu nebo lépe do *.txt

sem hrozná lama

_Jenda

  • *****
  • 1 550
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Porovnání textu
« Odpověď #3 kdy: 27. 10. 2019, 03:32:10 »
do clipboardu
To na Windows v Cygwinu fakt netuším, na Linuxu xclip -in.

nebo lépe do *.txt
grep "^> " | cut -c 3- > soubor.txt

Citace
Porovnávalo by se z textu o 7tisíc řádku a podle nejvetsi podobnosti vyhodnotit shodu...
To mi není jasné co si pod tím přesně představuješ. Pokud ti jde o to zjistit „jak moc se soubory liší“, tak můžeš počítat řádky toho diffu. Další možnost je zkonkatenovat je, zagzipovat a podívat se na velikost výsledku -- pokud jsou téměř stejné, měla by komprese fungovat „dobře“, zatímco pokud se budou hodně lišit, nebude možné zkomprimovat ten druhý pomocí znalosti prvního. No a pak samozřejmě existuje spousta teoreticky podložených algoritmů jako třeba Levenshteinova vzálenost, Dynamic time warping atd., kde ale musíš vědět, co od toho chceš.
« Poslední změna: 27. 10. 2019, 03:37:24 od _Jenda »

Re:Porovnání textu
« Odpověď #4 kdy: 27. 10. 2019, 11:03:54 »
Děkuju za rady velmi useful...potřeboval bych z dlouhého textu o tisíce řádku najít daný řádek podle nekompletního/poškozenýho textu o jednom řádku z jiného zdroje...a ten s nejvetsí shodou vypsat do *.txt
blbe se to vysvetluje :D
« Poslední změna: 27. 10. 2019, 11:05:33 od Aleš Dvoika »


Re:Porovnání textu
« Odpověď #5 kdy: 28. 10. 2019, 10:41:31 »
Děkuju za rady velmi useful...potřeboval bych z dlouhého textu o tisíce řádku najít daný řádek podle nekompletního/poškozenýho textu o jednom řádku z jiného zdroje...a ten s nejvetsí shodou vypsat do *.txt
blbe se to vysvetluje :D
Moc nerozumim, co je cilem ale treba se trefim:
grep -n sactedisulthoistls poskozenysoubor.txt | tee vysledek.txt
vypise radek s tim slovem a jeho cislo a zapise ho do souboru ,
 kdyz nechces cislo nedavej -n vice moznost viz treba
https://www.computerhope.com/unix/ugrep.htm
« Poslední změna: 28. 10. 2019, 10:45:39 od FKoudelka »

Re:Porovnání textu
« Odpověď #6 kdy: 28. 10. 2019, 22:11:31 »
Děkuju za rady velmi useful...potřeboval bych z dlouhého textu o tisíce řádku najít daný řádek podle nekompletního/poškozenýho textu o jednom řádku z jiného zdroje...a ten s nejvetsí shodou vypsat do *.txt
blbe se to vysvetluje :D

Pokud potřebujete vyhledat přibližnou shodu textu, bude to chtít něco jako Approximate string matching nebo Fuzzy String Matching. To souvisí s tou již zmíněnou Levenshteinovou vzdáleností a dalšími postupy a určitě na to bude nějaký software. Případně lze ten text naimportovat do databáze, například co řádek textu to řádek databáze, a provést hledání tam. Například pro Postgres https://www.freecodecamp.org/news/fuzzy-string-matching-with-postgresql/

Re:Porovnání textu
« Odpověď #7 kdy: 29. 10. 2019, 14:05:52 »
Diffy vizualne pekne zobrazuje meld

Re:Porovnání textu
« Odpověď #8 kdy: 31. 10. 2019, 20:57:04 »
ahoj tak "agrep" to vyřešil, dá se nastavit i kolik chyb má přechoupnout ale je celkem pomalej, trvá mu to vteřinu a potřeboval bych max 0.5s

agrep -E 5 "nekompletní text" text.txt

neakej napad? díky všem

Re:Porovnání textu
« Odpověď #9 kdy: 02. 11. 2019, 15:03:05 »
ahoj jak dostanu text z clipboardu do dalsiho prikazu mezi uvozovky :/


nikde sem v agrep nenašel možnost číst ze souboru

Re:Porovnání textu
« Odpověď #10 kdy: 02. 11. 2019, 18:05:25 »
ahoj jak dostanu text z clipboardu do dalsiho prikazu mezi uvozovky :/


nikde sem v agrep nenašel možnost číst ze souboru

Myslím, že agrep načte ze souboru přeměrováním:

Kód: [Vybrat]
agrep parametry... < soubor.txt
Mezi uvozovky načtete takto:

Kód: [Vybrat]
agrep "$(tesseract parametry...)" gtafull.txt

nebo

Kód: [Vybrat]
agrep `tesseract parametry...` gtafull.txt

Re:Porovnání textu
« Odpověď #11 kdy: 03. 11. 2019, 09:19:18 »
ahoj jak dostanu text z clipboardu do dalsiho prikazu mezi uvozovky :/


nikde sem v agrep nenašel možnost číst ze souboru

Vygoogli si “ windows cmd quick edit mode”
Pak ti pujde v cmd terminalu oznacit mysi, dat enter pro kopirovani a vluzit pomoci praveho tlacitka mysi.
https://www.isunshare.com/windows-8/quick-edit-mode-in-command-prompt-how-to-open-it.html
« Poslední změna: 03. 11. 2019, 09:21:20 od FKoudelka »

Re:Porovnání textu
« Odpověď #12 kdy: 03. 11. 2019, 09:29:20 »
ahoj dík za odpoved ale potrebuji udelat bash aby to udelalo automaticky, ručně mi je to na prd asi sem to blbe napsal
ahoj jak dostanu text z clipboardu do dalsiho prikazu mezi uvozovky :/


nikde sem v agrep nenašel možnost číst ze souboru

Vygoogli si “ windows cmd quick edit mode”
Pak ti pujde v cmd terminalu oznacit mysi, dat enter pro kopirovani a vluzit pomoci praveho tlacitka mysi.
https://www.isunshare.com/windows-8/quick-edit-mode-in-command-prompt-how-to-open-it.html

Re:Porovnání textu
« Odpověď #13 kdy: 03. 11. 2019, 09:36:58 »
nebo něco ve smyslu
echo prvni_text < input.txt druhy_text > output.txt
to samozrejmne nefunguje :D

Re:Porovnání textu
« Odpověď #14 kdy: 03. 11. 2019, 09:37:36 »
ani jedno mi nepřechroustá :/
ahoj jak dostanu text z clipboardu do dalsiho prikazu mezi uvozovky :/


nikde sem v agrep nenašel možnost číst ze souboru

Myslím, že agrep načte ze souboru přeměrováním:

Kód: [Vybrat]
agrep parametry... < soubor.txt
Mezi uvozovky načtete takto:

Kód: [Vybrat]
agrep "$(tesseract parametry...)" gtafull.txt

nebo

Kód: [Vybrat]
agrep `tesseract parametry...` gtafull.txt