σύγκριση αρχείων με βάση την πρώτη λέξη σε κάθε γραμμή

Giorgos Keramidas keramida at ceid.upatras.gr
Mon Aug 17 21:14:11 EEST 2009


On Mon, 17 Aug 2009 20:56:31 +0300, Giorgos Keramidas <keramida at ceid.upatras.gr> wrote:
> On Mon, 17 Aug 2009 20:44:51 +0300, Thanos <pampo at freemail.gr> wrote:
>> Γεια σας και καλή επιστροφή σε όλους!
>>
>> Αντιμετωπίζω κάποιο πρόβλημα μετά από μια αναβάθμιση του Kernel και
>> αναζητώ την αιτία στις διαφορές ανάμεσα στον παλιό και τον καινούργιο
>> όσο αφορά τα φορτωμένα modules.
>>
>> Έχω λοιπόν δύο αρχεία (απλού κειμένου) που το καθένα περιέχει την έξοδο
>> της lsmod από τις δύο εκδόσεις του kernel μετά την εκκίνηση του
>> συστήματος. Προσπαθώντας να βρω ποια modules φορτώνονται από τον παλιό
>> (καλό) και όχι από τον καινούργιο (προβληματικό) και αντίστροφα με την
>> diff δεν τα καταφέρνω μιας και τα συγκρίνει γραμμή-γραμμή για όλο το
>> μήκος αυτής.
>
> sort και μετά diff?

Εννοώ κάτι σαν:

    $ cat a
    Id Refs Address    Size     Name
     1   44 0xc0400000 927a74   kernel
     2    1 0xc0d28000 12758    geom_eli.ko
     3    2 0xc0d3b000 26f88    crypto.ko
     4    2 0xc0d62000 ac20     zlib.ko
     5    1 0xc0d6d000 1ac28    snd_hda.ko
     6    2 0xc0d88000 620d8    sound.ko
     7    1 0xc0deb000 51d8     acpi_ibm.ko
     8    1 0xc0df1000 13604    if_iwn.ko
     9    1 0xc6aff000 127000   zfs.ko
    10    1 0xc6c26000 3000     opensolaris.ko
    11    1 0xc7134000 5000     nullfs.ko
    12    1 0xc7516000 2000     snake_saver.ko
    13    1 0xc75d4000 9000     i915.ko
    14    1 0xc75dd000 14000    drm.ko
    15    1 0xc7d4a000 30000    iwnfw.ko

    $ cat b
    Id Refs Address    Size     Name
     1   44 0xc0400000 927a74   kernel
     2    1 0xc0d28000 12758    geom_eli.ko
     3    2 0xc0d3b000 26f88    crypto.ko
     4    2 0xc0d62000 ac20     zlib.ko
     5    1 0xc0d6d000 1ac28    snd_hda.ko
     6    2 0xc0d88000 620d8    sound.ko
     7    1 0xc0deb000 51d8     acpi_ibm.ko
     8    1 0xc0df1000 13604    if_iwn.ko
     9    1 0xc6aff000 127000   zfs.ko
    10    1 0xc6c26000 3000     nullfs.ko
    11    1 0xc7134000 5000     snake_saver.ko

    $ awk '$0 ~ /^[ 0-9]*[ ]/ {print $5}' a |
    sort > a-sort

    $ awk '$0 ~ /^[ 0-9]*[ ]/ {print $5}' b |
    sort > b-sort

    $ diff -u a-sort b-sort
    --- a-sort      2009-08-17 21:13:08.000000000 +0300
    +++ b-sort      2009-08-17 21:13:12.000000000 +0300
    @@ -1,13 +1,9 @@
     acpi_ibm.ko
     crypto.ko
    -drm.ko
     geom_eli.ko
    -i915.ko
     if_iwn.ko
    -iwnfw.ko
     kernel
     nullfs.ko
    -opensolaris.ko
     snake_saver.ko
     snd_hda.ko
     sound.ko
    $


More information about the Linux-greek-users mailing list