Finished exercise 1 and 2 on lab 8

This commit is contained in:
Jack-Benny Persson 2013-12-28 14:55:26 +01:00
parent 656f1a0eb1
commit 3a13dae36a
9 changed files with 130 additions and 1 deletions

View File

@ -8,3 +8,4 @@ I matematiken kan vi räkna ut radius
Eller var det någon annan rad?
Det här är iaf den sista raden i en
text om rader.
En rad där vissa ord upprepar sig, som t.ex. ord

View File

@ -81,9 +81,44 @@ ls -l | grep -v total | awk '{ print $9"\t är "$5" bytes stor" }'
# Mer test från laborationsbeskrivningen
ls -l /etc/| awk 'BEGIN { print "Found:\n" } /^.*\.conf$/ { print $9 } END { print "\nDone" }'
# Byt ut andra förekomsten av ordet ord mot bilar
cat file.txt | sed 's/ord/bilar/2'
# Byt ut Den mot Och på andra raden
cat file.txt | sed '2s/Den/Och/'
# Byt ut order rader mot line, men bara på den rad som börjar på ordet Många
cat file.txt | sed '/^Många/s/rader/lines/'
# Ta bort tredje och fjärde raden
cat file.txt | sed '2,4d'
# Ta bort rader från rad två till sista raden
cat file.txt | sed '2,$d'
# Lägg till (append) "Hej på dig" efter den tredje raden
cat file.txt | sed '3a\Hej på dig'
# Lägg till (inster) "Hej på dig" före den tredje raden
cat file.txt | sed '3i\Hej på dig'
# Byt ut den trejde raden mot en helt ny rad (change)
cat file.txt | sed '3c\Den nya raden'
# Byt ut hela texten på raden som börjar med Långa (change)
cat file.txt | sed '/^Långa/c\Den nya raden'
# Byt ut 1, 2 och 3 mot 7,8 och 9 i den ordning de träffas på
cat numbers.txt | sed 'y/123/789/'
# Skriv endast ut rad 2 till 5
cat file.txt | sed -n '2,5p'
# Skriv ut endast rad 2 och till 5 till filen newfile.txt
cat file.txt | sed -n '2,5w newfile.txt'
```
Fler exempel finns i denna mappen i form av bland annat en rad awk-skript.
## Reflektion ##

12
Labb8/listbashusers2.sh Normal file
View File

@ -0,0 +1,12 @@
BEGIN {
print "User Shell"
print "---- -----"
FS=":"
}
/bash/ { print $1 " "$7 }
END {
print "\nNo more Bash-users to list"
}

3
Labb8/myls.awk Normal file
View File

@ -0,0 +1,3 @@
/^-/ { print "File -> " $0 }
/^d/ { print "Directory -> " $0 }
/^l/ { print "Link -> " $0 }

4
Labb8/newfile.txt Normal file
View File

@ -0,0 +1,4 @@
Den andra raden
Många rader kan det bli
Långa rader också
Kanske en rad till

5
Labb8/numbers.txt Normal file
View File

@ -0,0 +1,5 @@
Rad 1
Rad 2
Rad 3
Rad 4
Rad 5

9
Labb8/ovning1.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
# Jack-Benny Persson
# LX13
# Exercise 1, lab 8 (remove the last line of /var/log/syslog)
sed '$d' /var/log/syslog
exit 0

28
Labb8/ovning2_ver1.sh Executable file
View File

@ -0,0 +1,28 @@
#!/bin/bash
# Jack-Benny Persson
# LX13
# Exercise 2, lab 8 (make an advanced ls printout)
# Binaries
Sed="/bin/sed"
# Sanity check
if [ $# -ne 1 ]; then
echo "`basename $0` requires one argument"
exit 1
fi
if [ ! -x $Sed ]; then
echo "Can't execute $Sed"
exit 1
fi
# Main
ls -l $1 | $Sed '{
s/^d/Directory-> d/
s/^l/Link -> l/
s/^-/File -> -/
}'
exit 0

32
Labb8/ovning2_ver2.sh Executable file
View File

@ -0,0 +1,32 @@
#!/bin/bash
# Jack-Benny Persson
# LX13
# Exercise 2, lab 8 (make an advanced ls printout)
# Binaries
Awk="/usr/bin/awk"
# Variables
MyLs="myls.awk"
# Sanity check
if [ $# -ne 1 ]; then
echo "`basename $0` requires one argument"
exit 1
fi
if [ ! -x $Awk ]; then
echo "Can't execute $Awk"
exit 1
fi
if [ ! -r $MyLs ]; then
echo "Can't find file $MyLs"
exit 1
fi
# Main
ls -l $1 | awk -f $MyLs
exit 0