DrDoogie Skrevet 23. juli 2003 Del Skrevet 23. juli 2003 La oss si at jeg har to filer, A og B, med følgende format: "cdartisttcdtitteln" sagt på en annen måte vil hver linje matche m/(.*)t(.*)/ KORT: A er alle cd'ene av en artist som jeg har. B er alle cd'ene av alle artister (freedb). Jeg ønsker å se hvilke cd'er av artistene jeg allerede har album av, som jeg mangler. Jeg kan da ta union av disse to filene med f.eks. 'cat A B >> U'. Jeg kan ta snitt med f.eks. 'for field in 'cat A' ; do 'grep $field B >> S'; done' bør kanskje legge til her at jeg betrakter $'t' som felt-separator, altså: 'oldifs=$IFS && IFS=$'t'$'n'; ... ; IFS=$oldifs', slik at $field blir cd-artist. Men komplement (alle i A og B men ikke i A), er det en enkel måte å gjøre det på? Antagelig vil det vel gå greit med 'for hver linje i S hvis ikke finnes i A legg til i K', men dette virker litt tungvint og oppfinning av kruttet på ny. Så er det en lettere måte å gjøre det på, noe standard? Lenke til kommentar
iDude Skrevet 23. juli 2003 Del Skrevet 23. juli 2003 Hva med følgende logikk: 1) sorter innholdet i fil A og fil B 2) Vis kun duplikater etter sortering. Det burde fungere med dette: cat A B | sort | uniq -d Du kan ta ut snitt på samme måte medmed cat A B | sort | uniq -u Lenke til kommentar
DrDoogie Skrevet 24. juli 2003 Forfatter Del Skrevet 24. juli 2003 Hm. Er ikke helt med, med prøver når jeg kommer hjem. Men i tilfellet jeg ikke har forklart meg godt nok, la meg ta ett eksempel: A inneholder KUN: Michael JacksontHIStoryn B inneholder BLANT ANNET: ... Michael JacksontHIStoryn Michael JacksontThrillern ... Jeg ønsker KUN å få vist: Michael JacksontThrillern Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå