πως γράφετε/δοκιμάζεται περίπλοκες regexps?

Giorgos Keramidas keramida at ceid.upatras.gr
Thu Mar 22 01:28:58 EET 2007


On 2007-03-21 23:40, Nick Demou <ndemou at gmail.com> wrote:
> έγραψα κάτι τέρατα σήμερα και όταν μου πήρε 20 λεπτά για να προσέξω
> ένα τυπογραφικό λάθος θαμένo ανάμεσα στα backslashes κάπως ...  την
> άκουσα :) Οπότε ιδού το ερώτημα:

Ένα-ένα κομμάτι, με πολύ έντονη χρήση της Perl και του bash prompt
history feature:

    bash$ t='kernel bar[1324986]: Connection timed out'
    bash$ echo "$t" | perl -pe 's/^.*\[//;'
    1324986]: Connection timed out
    bash$ echo "$t" | perl -pe 's/^.*\[//; s/]://;'
    1324986 Connection timed out
    bash$ echo "$t" | perl -pe 's/^.*\[.*]//;'
    : Connection timed out
    bash$ echo "$t" | perl -pe 's/^.*\[//;'
    1324986]: Connection timed out
    bash$ echo "$t" | perl -pe 's/^.*\[.*]//;'
    : Connection timed out
    bash$ echo "$t" | perl -pe 's/^.*\[.*]: //;'
    Connection timed out
    bash$ echo "$t" | perl -pe 's/^.*\[(.*)]: (.*)/$2 from $1/;'
    Connection timed out from 1324986
    bash$ echo "$t" | perl -pe 's/^.*\[(.*)]: (.*)/$2 pid=$1/;'
    Connection timed out pid=1324986
    bash$ echo "$t" | perl -pe 's/^.*\[(.*)]: (.*)/$2. pid=$1/;'
    Connection timed out. pid=1324986
    bash$ 

Προφανώς αυτό δεν έχει high-lighting, αλλά δεν τα πάω καλά με τα χρώματα
συνήθως, οπότε είπα να γράψω πως δουλεύω εγώ τις πιο πολλές φορές.




More information about the Linux-greek-users mailing list