Tuesday, December 1, 2009

Less than 3

Uppgift 8.42 Vilka ord i samma fil har högst åtta
bokstäver och har två dubbeltecknade bokstäver i
rad, så som t. ex. »rättssal«.


8.42 egrep "^.{0,2}([[:alpha:]])\1([[:alpha:]])\2.{0,2}$|^([[:alpha:]])\1([[:alpha:]]).{0,4}\2$|^.{0,4}([[:alpha:]])\1([[:alpha:]])\2$|^.{0,1}([[:alpha:]])\1([[:alpha:]])\2.{0,3}$|^.{0,3}([[:alpha:]])\1([[:alpha:]])\2.{0,1}$" /local/dict/dsso-list.txt

Uppgift 8.43 Använd sed för att lösa om uppgiften
med att vända ordningen på us-states.txt från
överst på s. 70.

8.43 sed -r "s/([0-9]{4}-[0-9]{2}-[0-9]{2})([[:blank:]])([[:alpha:]]+.*)/\3\2\1/g" us-states.txt | sort

Uppgift 8.44 Tänk dig att en text har använt deci-
malpunkt istället för decimalkomma, dvs. där står
t. ex. »3.14« istället för »3,14«, men det ska ändras
till decimalkomma. Skriv ett sed-kommando som
byter ut sådana punkter som står mellan två siffror
till komman (men inte byter ut andra punkter!).

8.44 sed -r "s/([[:digit:]]+)(\.)([[:digit:]]+)/\1,\3/g"


Victory is mine! Mine mine mine mine!

It's also 19.30 and this took me like 3 hours... buuut...

^_________________________^

I have a gnawing feeling there is an easier way to do 8.42, cuz it's really ugly, and I really hope all of this is right... buuut....

I have concluded that I really like regular expressions. They are ultimate logic.

PS: sorry this totally invaded on the attention for your birthday cake, nallenon! I am a terrible friend!

3 comments:

Nallenon said...

No worries, I managed to guilt you into coming over anyway, so you're not as terrible a friend as you would want to look ;)

Sorry for ruining this, I know how important this "terrible friend"-thing is for your image :P

Riklurt said...

I don't know what it is you're doing here, but it looks sexy as hell.

Alex said...

You've just defined the word "geek-porn" D =)