OT: grep help

Giorgos Keramidas keramida at ceid.upatras.gr
Wed Mar 25 21:10:50 EET 2009


On Wed, 25 Mar 2009 18:29:53 +0000, Alexandros Papadopoulos <alexandros.papadopoulos at member.fsf.org> wrote:
> Φίλτατοι, τη βοήθειά σας:
>
> Έχω ένα μεγάλο αρχείο ASCII (mediawiki database dump), μέσα από το
> οποίο θέλω να ρουφήξω όλα τα URLs.
>
> Ένα απλό grep δε κάνει και πολλά, μιας και επιστρέφει τη "γραμμή", η
> οποία έχει 500000 χαρακτήρες έκαστη, μπορεί να είναι ολόκληρο άρθρο
> κτλ... Πώς μπορώ να πω στο grep να βρει όλες τις λέξεις που ξεκινούν
> από http://blah και να μου επιστρέψει όλα τα matching strings μέχρι το
> επόμενο space, ώστε να έχω μια ωραία λίστα με τα URLs μόνο?

Τα URIs μπορεί να μην τελειώνουν σε space αλλά σε '\'' ή σε '"'.  Αλλά
μπορείς, συνήθως να κάνεις θαύματα με μια μικρή παραλλαγή στο sed που
έδειξε ο Μανώλης.  Προσωπικά την έχω καταβρεί με το '\b' της Perl σε
κάτι τέτοιες περιπτώσεις:

    $ cat foo
    <a href="http://foo">bar</a><a href="http://koko">lala</a>
    $ perl -ne '@m = (/\b(http:[^"'\'']+)/g); print join("\n", @m) . "\n"' <
    foo
    http://foo
    http://koko
    $



More information about the Linux-greek-users mailing list