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

Giorgos Keramidas keramida at ceid.upatras.gr
Mon Aug 17 21:37:05 EEST 2009


On Mon, 17 Aug 2009 21:22:40 +0300, Thanos <pampo at freemail.gr> wrote:
> Από τα λίγα που καταλαβαίνω η diff ελέγχει ολόκληρη την γραμμή. Ακόμη
> και sort να κάνω τα περιεχόμενα των αρχείων, ακόμη και τα ίδια modules
> να τρέχουν και στις δυο περιπτώσεις το μέγεθος ίσως να διαφέρει και έτσι
> πάλι μου τα βγάζει ότι διαφέρουν. Γι' αυτό και ψάχνω κάτι που να ελέγχει
> μόνο την πρώτη λέξη. Όπως είπα βέβαια, ίσως ζητάω πολλά και χρειάζεται
> να κάνω λίγη χειροκίνητη δουλειά και να τα ελέγξω ένα-ένα με το μάτι.
>
> Σ' ευχαριστώ για την απάντηση... Περιμένω την επόμενή σου... :-D

Υπάρχει πάντα και η join(1) με την οποία μπορείς να βρεις:

    α) Τα κοινά πεδία δύο column-delimited αρχείων:

         $ join -11 -21 -o 1.1 a b | head
         Module
         nf_conntrack_irc
         nf_conntrack_ftp
         ipt_REJECT
         ipt_LOG
         xt_limit
         xt_tcpudp
         xt_state
         ipt_addrtype
         iptable_mangle

    β) Τα πεδία που εμφανίζονται μόνο στο πρώτο file:

         $ join -11 -21 -a1 -o 1.1,2.1 a b | sed -n -e '/[ ]$/ s/[ ]*$//p'
         nf_conntrack_ipv4
         nf_conntrack
         iptable_filter
         ip_tables
         ipv6
         ide_cd_mod
         cdrom
         shpchp
         ac97_bus
         pci_hotplug
         ide_disk

    γ) Τα πεδία που υπάρχουν μόνο στο δεύτερο file:

         $ join -11 -21 -a2 -o 1.1,2.1 a b | sed -n -e '/^[ ]/ s/^[ ]*//p'
         iptable_nat
         nf_nat
         nf_conntrack_ipv4
         nf_conntrack
         iptable_filter
         ip_tables
         hwmon_vid
         ide_generic
         ide_cd_mod
         cdrom
         ac97_bus
         pci_hotplug
         ata_generic


More information about the Linux-greek-users mailing list