Gelijken zoeken in een tekstbestand

Ward De Ridder ward.ubuntu op gmail.com
Zo Jun 6 18:29:54 BST 2010


Als je een beetje je weg kent in python is dit een fluitje van een
cent. Ik denk dat dit doet wat het moet doen:

invoer = open('input.txt', 'r').read()
gesplitst = invoer.split("\n")
for i in range(0, len(gesplitst)):
	lijnI = gesplitst[i].split()
	if (len(lijnI) > 0):
		for j in range(0, len(gesplitst)):
			lijnJ = gesplitst[j].split()
			if (len(lijnJ) > 0):
				if (j != i) and (lijnI[0] == lijnJ[0]):
					print lijnI[0]

Dit ten minste als ik je goed begrepen heb, en je wil weten ofdat het
eerste woord van iedere lijn uniek is.
Dit is gewoon op een paar minuten in elkaar geboxt, niet echt
uitgebreid getest, maar dit zou de eerste woorden die dubbel zijn als
output moeten teruggeven.
Deze code zet je in een bestandje (geef het bijvoorbeeld de naam
dubbel.py) in dezelfde map als waar je uitvoer bestand staat (om deze
code te laten werken moet je het de naam input.txt geven). Als je dan
in een terminalvenster navigeert naar de map waar dit bestandje staat,
en je start het script door
python dubbel.py     te typen, dan zou je een lijst moeten krijgen met dubbels.
Python is een fantastisch taaltje om dingen te automatiseren, en het
grote voordeel is, het werkt met ieder os, en het is helemaal niet
moeilijk om te leren.

Ward

Op 6 juni 2010 17:34 heeft Jeroen Hendrickx
<jeroen.hendrickx op telenet.be> het volgende geschreven:
> Beste lijstlezers
>
> Voor een onderzoekje heb ik een redelijk repetitief taakje moeten
> uitvoeren over 972 wav-files. De resultaten van elk script worden in een
> tekstbestand (.txt) lijn per lijn weggeschreven. Nu heb ik in het
> resulterend tekstbestand 988 lijnen, dus zestien meer dan de bedoeling
> was. Er staan geen lege interlinies.
> Ik geef zo een lijntje om jullie een idee te geven:
>
> 131_02_RO_1_1A_POOT † † †0 † † †305.14089460960304
> †359.5485848841854 † † †1326.822185789753
>
> 131_02_RO_1_1A_POOT †is de naam van dat bestand, ik heb er in de gehele
> file dus een paar dubbel. Heeft iemand van jullie een idee hoe ik dat
> kan terug vinden zonder elke naam te moeten copiŽren in een
> zoek-venstertje, dat zou even omslachtig zijn als het werk tot hiertoe,
> en geloof me...
>
> Ik weet dat er voor Unix/Linux erg mooie commandline teksttools zijn,
> maar ik ben het niet gewoon om hiermee te werken.
>
> Eender welke tip is welkom,
>
> Jeroen
>
> --
> Ubuntu-NL mailing list
> Ubuntu-NL op lists.ubuntu.com
> Info/Uitschrijven: https://lists.ubuntu.com/mailman/listinfo/ubuntu-nl
>



Meer informatie over de Ubuntu-NL maillijst