/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Sammenligning af to tekstfiler
Fra : Michael Berg


Dato : 11-05-04 23:50

Hej alle,

Er der nogen der kender et genialt værktøj eller en metode, der hurtigt kan
sammenligne to filer A og B, og printe de linier fra B der _ikke_ findes i
A? Altså:

A:
ord1
ord2

B:
ord1
ord2
ord3

->

ord3

Det har vist sig overraskende svært at finde noget meningsfyldt omkring
dette på Google (det bliver i det hele taget sværere og sværere at finde
noget meningsfyldt på Google..)

Grep kan det garanteret allerede, hvis man altså kan finde den rigtige
option . Diff kan måske, men kun hvis der findes en option, der fjerner
dens "styrekoder" i outputtet.

/Michael



 
 
Kasper Dupont (12-05-2004)
Kommentar
Fra : Kasper Dupont


Dato : 12-05-04 05:47

Michael Berg wrote:
>
> Hej alle,
>
> Er der nogen der kender et genialt værktøj eller en metode, der hurtigt kan
> sammenligne to filer A og B, og printe de linier fra B der _ikke_ findes i
> A? Altså:
>
> A:
> ord1
> ord2
>
> B:
> ord1
> ord2
> ord3
>
> ->
>
> ord3

Du kan bruge comm med passende argumenter. Bemærk at
inputet til comm skal være sorteret, så hvis ikke
filerne er sorteret på forhånd kan du smide dem
gennem sort. f.eks.

comm -13 <(sort<A) <(sort<B)

> Grep kan det garanteret allerede, hvis man altså kan finde den rigtige
> option . Diff kan måske, men kun hvis der findes en option, der fjerner
> dens "styrekoder" i outputtet.

diff A B | grep '^>' | cut -c3-

--
Kasper Dupont -- der bruger for meget tid paa usenet.
For sending spam use abuse@mk.lir.dk and kasperd@mk.lir.dk
I'd rather be a hammer than a nail.

Kai Birger Nielsen (12-05-2004)
Kommentar
Fra : Kai Birger Nielsen


Dato : 12-05-04 07:45

In <40a1588a$0$213$edfadb0f@dread12.news.tele.dk> "Michael Berg" <michael.berg@bergconsult.dot.com (figure it out)> writes:

>Hej alle,

>Er der nogen der kender et genialt værktøj eller en metode, der hurtigt kan
>sammenligne to filer A og B, og printe de linier fra B der _ikke_ findes i
>A? Altså:

>A:
>ord1
>ord2

>B:
>ord1
>ord2
>ord3

>->

>ord3

>Det har vist sig overraskende svært at finde noget meningsfyldt omkring
>dette på Google (det bliver i det hele taget sværere og sværere at finde
>noget meningsfyldt på Google..)

>Grep kan det garanteret allerede, hvis man altså kan finde den rigtige
>option . Diff kan måske, men kun hvis der findes en option, der fjerner
>dens "styrekoder" i outputtet.

>/Michael


grep -xvFf A B

x betyder at hele linien skal matche eksakt
v betyder at vi vil have de linier, der IKKE matcher
F betyder at det er tekststrenge og ikke regulære udtryk der matches
f angiver at næste argument er et filnavn der skal bruges som input

Jeg tror det var det du skulle bruge.

mvh Birger Nielsen (bnielsen@daimi.au.dk)


Michael Berg (12-05-2004)
Kommentar
Fra : Michael Berg


Dato : 12-05-04 16:37

Hej,

> grep -xvFf A B

> Jeg tror det var det du skulle bruge.

Klasse ... det fungerer super! Tak for det!

/Michael



Søg
Reklame
Statistik
Spørgsmål : 177502
Tips : 31968
Nyheder : 719565
Indlæg : 6408534
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste