Skip to content
Jack-Benny Persson edited this page Dec 28, 2013 · 5 revisions

Felaktigheter

Laboration 4

På övning 3, borde det inte heta Paramater Substiution istället för som författaren har valt att döpa det till Dollarsign Substitution vilket inte är ett vedertaget begrepp?

Laboration 8

Sidan 4, stycket med innehållet

Ett exempel på hur vi kan skapa ett eget ls-kommando:

$ ls -l | grep -v total | awk '{ print $8"\t ar "$5" bytes stor" }'

Raden med grep tar bort den första raden från ls-kommandots utmatning. Skicka vidare skicka vidare.. är inte rör fantastiska?

Den korrekta raden för att få önskat resultat (i varje fall på Ubuntu 13.04) är

$ ls -l | grep -v total | awk '{ print $9"\t ar "$5" bytes stor" }'

D.v.s. det 9:e fältet visar storleken, inte det 8:e som visar tiden. Detsamma gäller för alla rader med koden

$ ls -l /etc/| awk '/^.*\.conf$/ { print $8 }'

Här bör det också vara $9 istället för $8. Det gäller alltså både sidan 4 och 5 i laboration 8 där en hel del exempel använder just denna kodsnutt. OBS: Dubbelkolla gärna så det inte är en lokal avvikelse!

Sidan 5, AWK-raden

$ ls -l /etc/| awk 'BEGIN { print ”Jag hittade:\n” } /\<.*\.conf$/ { print $8 }'

fungerar inte, borde det inte vara så här istället:

$ ls -l /etc/| awk 'BEGIN { print "Jag hittade:\n" } /^.*\.conf$/ { print $9 }'

d.v.s. ett hustak (^) istället för (\<). \< betyder väl inget särskilt i regexp? Backslashet escapar ju bara < så att < faktiskt blir ett < utan speciell innebörd. Och i regexp har väl inte < någon speciell mening ändå? Eller är jag helt ute och cyklar nu? Och även då ändra $8 till $9. Förmodligen är \< bara ett typo.

Övning 5

Felaktiga inloggningsförsök i Debian/Ubuntu hamnar i filen /var/log/auth.log som default, inte i /var/log/syslog som anges i labben.

Clone this wiki locally