» »

Primerjanje dveh datotek - vrstico po vrstico

Primerjanje dveh datotek - vrstico po vrstico

|Luka| ::

Zelel bi tole:
imamo dve datoteki (dat1, dat2). V dat1 je vpisano 1000 podatkov (ime, priimek, ...), v dat2 pa je vpisanih 15 podatkov istega tipa. Sedaj pa se posatvi vprasanje kako sprogramirati funkcijo (v C-ju), ki bi vse podatke v prvi datoteki primerjala z vsemi v drugi, vrstico po vrstico.
Se pravi pogleda prvo vrstico v dat2 in vse v dat1, drugo v dat2 vse v dat1,... in ob morebitnem zadetku izpise neko opozorilo.

LP Lix
  • spremenil: |Luka| ()

Brane2 ::

Če tole ni domača naloga (in bojim se da je), lahko v Linuxu uporabiš kar ukaz "diff", za WInse pa ne vem...

Mislim, da bi se dalo diff ove opcije stveakat tako, da bi to delalo tudi v tvojem primeru.

Drugače veliko lažja pot se mi zdi v "gawku", kjer imaš tako stvar narejeno v 15 min iz nule.

GAWK je nekakšen skriptni jezik, namenjen prav brklanjem po ASCII datotekah, iskanju itd.

Zgodovina sprememb…

  • spremenil: Brane2 ()

|Luka| ::

Brane2:
žal to ni domaca naloga:D , rabim za svojo uporabo; delam pa na Linuxu
Trenutno sem na sihtu, bom pa uporabil tvojo varijanto z diff, ko pridem domov.
Se vedno me pa "matra", kako to v Cju naredit:D

LP Lix

Zgodovina sprememb…

  • spremenil: |Luka| ()

|Luka| ::

Hja, diif je cisto uporaben program, z eno "napako":D : izpise namrec kje se datoteki
razlikujeta.
Torejj za idejo na dan kako tweakat to zadevo da bo
uporabna pri mojem problemu... :D

LP Lix

simon ::

cat dat1 dat2 | sort | uniq -d
mogoce kaj pomaga?

Brane2 ::


Hja, diif je cisto uporaben program, z eno "napako" : izpise namrec kje se datoteki
razlikujeta.
Torejj za idejo na dan kako tweakat to zadevo da bo
uporabna pri mojem problemu...


Če sem iskren, ne vem točno. Vem, da ima diff trilijon opcij in imam soliden občutek, da bi ga lahko prignal v to a zdaj sem preveč zbit, pa tudi nimam dostopa do svojega linux stroja da bi probal.

Uporabi raje gawk, ki je mišljen za prav take stvari...

zdravc ::

Jaz C-ja ne poznam, vendar, če znaš programirat, lahko to zelo enostavno rešiš z dvema loop zankama.
kdor zna pa žih

ts ::

Jaz uporabljam program za Windows
ExamDiff by PrestoSoft™.

|Luka| ::

Ts:
Hvala ua info; žal pa ne pride v postev, ker delam v linuxu (z Wine-om se mi pa ne da ukvarjat:D )

zdravc:
v katerm jeziku pa ti programiras?
saj naceloma mi je jasno, kaj bi moral program naredit, samo to zakodirat...:8)

Simon: zelo uprabno!!!!:D

LP Lix

|Luka| ::

Simon:

prav to sem iskal!!!
pac bom pogoljufal in v sojem preogramu bom klical funkcijo
cat dat1 dat2 | uniq -d>:D

LP Lix


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C++ datoteke

Oddelek: Programiranje
5920 (747) technolog
»

sortiranje neznano dolge datoteke v pascalu

Oddelek: Programiranje
101044 (959) mmisv
»

jebe*** šumniki

Oddelek: Izdelava spletišč
404107 (3513) Tr0n
»

ext3 + ntfs

Oddelek: Operacijski sistemi
151209 (1012) |Luka|
»

RH 7.2 dialup + StarOffice5.2 vprasanja

Oddelek: Operacijski sistemi
191137 (989) |Luka|

Več podobnih tem