Ja ibland tar grep och gänget slut och då behövs kraftigare grejer!
Perl är ju klockrent för sådant men problemet är att perl-program blir svåra att underhålla när de blir större. För ett halvstort program skulle jag välja Python över perl alla dagar i veckan.
sed kan väl nästan allt men är extremt krångligt och omöjligt att begripa. Enligt mig och de flesta andra
awk är väl något bättre på den fronten men krångligt.
Min favorit har varit ruby, man kan skriva långa, fina objektorienterade program (ping @agehall) i det, github är skrivet i ruby tex, men man kan också använd det på kommandoraden.
Du ville ha exempel, vi pratar inte produktionskod utan något snabbt...tänk att vi vill grep:a något mer komplicerat, säg alla rader som börjar på ett udda tal eller att vi vill ha skillnaden mellan talen på efterföljande rader:
$ cat textfile | ruby -ne 's=$_[/^\d+/];if s and s.to_i%2 == 1 then puts $_ end'
$ cat numbers | ruby -ne 'BEGIN{d=0};puts $_.to_i-d;d=$_.to_i'
Inte omöjligt att göra i Python förstås men det blir omständligare och det blir inte på en rad. Jaja, jag försöker lära mig Python bättre men jag halkar tillbaka till ruby när jag får behov av kraftfulla enradare.
Och det är bara att konstatera: Python är det som gäller, i synnerhet med tillägg som numpy och pyplot.