Toon posts:

Hoe identieke regels uit tekstbestand verwijderen?

Pagina: 1
Acties:
  • 1.399 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een tekstbestand (html) met 2000 regels (url's) onder elkaar. Daarvan zijn er zo'n 500 identiek (dubbele url's). Een lijst met doublures, dus.

Ik heb verschillende tekstprogramma's (editors) geprobeerd, maar er is er niet één die een funktie 'identieke regels' of 'doublures' heeft.
Dat betekent dat ik elke regel (url) moet nazoeken in de 2000 volgende regels, en de dubbele dan handmatig moet selecteren en verwijderen: na één minuut turen, heb ik al hoofdpijn.

Kennen jullie een editor die dubbele regels wel kan vinden (en verwijderen)? Of is er een alternatief truukje?

Verwijderd

Je kunt iets pakken als UltraEdit-32. En dan bovenaan beginnen in het bestand. De 1e keer dat je een url tegenkomt is het de instantie die je wilt bewaren. Selecteer 'm en laat 'm zoeken naar de volgende (met knop in de balk boven). Als ie die vindt gewoon op delete rammen en verder laten zoeken. Nog steeds deels handmatig maar vrij snel te doen.

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 03-04 16:43

Koffie

Koffiebierbrouwer

Braaimeneer

Als het redelijk plain text is : bestand importeren in excel en dan sorteren op alfabetische volgorde.
Met de hand moet je dan redelijk snel de dubbelen eruit kunnen halen.

Tijd voor een nieuwe sig..


Verwijderd

Topicstarter
Met de hand uitzoeken is juist zoveel werk.
Het zijn 2000 url's, waarvan ongeveer 1500 uniek, en 500 dubbele. Ik moet dan dus 1500 keer een (deel van een) URL intypen, en dan zoeken, en die regels met de hand selecteren en wissen.
Als zo'n automatische funktie in een editor zou zitten, was ik dus zeer geholpen.

****
Ik heb geen Excel. In Openoffice krijg ik het bestand alleen maar als html geopend. Ik heb uiteindelijk het bestand in kladblok geopend, de tekst zonder html-startcodes gekopiëerd, en in een OpenOffice werkblad geplakt, en daarna, zoals Koffie zegt, op alphabetische volgorde gesorteerd. Dan is het selecteren en wissen wel te doen, maar je moet nog steeds 2000 regels doorploegen... Ik doe dat dan maar in meerdere sessies.
OpenOffice heeft blijkbaar ook geen 'doublure'-functie. 'Search duplicate lines' of zoiets.

  • Jazzy
  • Registratie: Juni 2000
  • Laatst online: 21:56

Jazzy

Moderator SSC/PB

Moooooh!

Als je toegang hebt tot een shell als bash ofoz dan kun je dat heel eenvoudig doen met cat, sort en uniq.

Exchange en Office 365 specialist. Mijn blog.


  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Als je extra software kunt installeren, kun je sort en uniq gebruiken, te downloaden op http://unxutils.sourceforge.net/ (of alleen uniq als je het al gesorteerd hebt met openoffice).

  • Xander
  • Registratie: Oktober 2002
  • Laatst online: 01:33
Pak EditPlus er anders even bij.

Tools > Sort > "remote duplicates". Zou moeten werken, als tenminste de hele regel identiek is? Dus niet bijvoorbeeld:
code:
1
2
<a href="http://gathering.tweakers.net">Gathering @ Tweakers.net</a>
<a href="http://gathering.tweakers.net">GoT</a>


Enige 'nadeel' is dat je ze meteen gesorteerd hebt. Ik weet niet of dat een probleem is?

PC specs!---Pulse mee voor GoT!
[22:49:37] <@Remy> ik wil een opblaasbare dSLR :+


  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

je moet voor je uniq draait btw sort draaien @ NIX.

  • terabyte
  • Registratie: September 2001
  • Laatst online: 06-07-2025

terabyte

kan denken als een computer

Verwijderd schreef op zaterdag 17 november 2007 @ 08:10:
Ik heb een tekstbestand (html) met 2000 regels (url's) onder elkaar. Daarvan zijn er zo'n 500 identiek (dubbele url's). Een lijst met doublures, dus.

Kennen jullie een editor die dubbele regels wel kan vinden (en verwijderen)? Of is er een alternatief truukje?
Al die editors, dat is moeilijkdoenerij.
Gewoon :

sort bestandsnaam | uniq

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Boudewijn schreef op zaterdag 17 november 2007 @ 11:13:
je moet voor je uniq draait btw sort draaien @ NIX.
Waarom?

Zie ook bijvoorbeeld blaataaps in "Hoe identieke regels uit tekstbestand ve..."

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 27-03 14:44
In Excel is het appeltje-eitje;
Data > Filter > Uitgebreid filter > Alleen unieke records

Misschien dat Google's Spreadsheet het ook wel kan.

  • Redshark
  • Registratie: Mei 2002
  • Laatst online: 02:11
Verwijderd schreef op zaterdag 17 november 2007 @ 08:13:
Je kunt iets pakken als UltraEdit-32. Nog steeds deels handmatig maar vrij snel te doen.
Utraedit kan ook gewoon sorteren en duplicates verwijderen, zo gebeurt.

File > Sort > Advanced sort options: Remove duplicaties aanvinken.
Dan even klikken op File > Sort > Sort File enn het is klaar.

Net als zoveel editors volgens mij trouwens, geen probleem. Of de commandline optie als TS daar zin in heeft :)

Verwijderd

Cool. Ik wist niet eens dat die functie er in zat :D

[ Voor 252% gewijzigd door Verwijderd op 17-11-2007 17:34 ]


Verwijderd

Topicstarter
Ik heb op dit moment geen Linux draaien.

Het lukt met de genoemde editors. In een tiende seconde, waar je met de hand een hele dag bezig bent... Bedankt voor de tip. :)

Ik heb tien freeware editors op mijn PC staan, maar die 'sort and remove duplicate'-functies hebben ze net niet. Bij een giveaway 'Pro'-editor blijkt 'toevallig' die funktionaliteit uitgeschakeld te zijn. Open Office kan het blijkbaar ook niet.

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Verwijderd schreef op zaterdag 17 november 2007 @ 13:24:
Ik heb op dit moment geen Linux draaien.

[...]
Met de unxtools heb je juist geen Linux nodig; deze zijn gecompileerd voor gebruik onder Windows. Ik durf te wedden dat ze er minder dan 10 seconden over doen :P

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Topicstarter
Okée: met unxtools lukt het ook. Het duurde even voordat ik de werking doorhad. (Ik dacht dat je die sh.exe moest gebruiken, maar die kent uniq niet).

Eerst het probleembestand in de UnxUtils\usr\local\wbin-map zetten.
Dan daar een opdrachtprompt openen.
sort bestand.html |uniq > bestand2.html
Helaas moet je wel weer even de <html><head><body></html></head></body>-codes goed zetten: die zijn nl. ook verplaatst.

****
Mijn vraag is dus voldoende beantwoord. :)

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

uit de manpage:
Discard all but one of successive identical lines from INPUT (or stan dard input), writing to OUTPUT (or standard output).
Bewijs:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
dionysos ebuilds # echo "aaa
> bbb
> bbb
> ccc" | uniq
aaa
bbb
ccc
dionysos ebuilds # echo "aaa
> bbb
> bbb
> ccc
> bbb
> "|uniq
aaa
bbb
ccc
bbb

Ken uw manpages ;)

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Oeps. Ik las het helemaal verkeerd :X
* F_J_K gaat in een hoekje zitten schamen.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)

Pagina: 1