Finished exercise 1 and 2 on lab 8
This commit is contained in:
parent
656f1a0eb1
commit
3a13dae36a
@ -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
|
||||
|
@ -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
12
Labb8/listbashusers2.sh
Normal 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
3
Labb8/myls.awk
Normal file
@ -0,0 +1,3 @@
|
||||
/^-/ { print "File -> " $0 }
|
||||
/^d/ { print "Directory -> " $0 }
|
||||
/^l/ { print "Link -> " $0 }
|
4
Labb8/newfile.txt
Normal file
4
Labb8/newfile.txt
Normal 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
5
Labb8/numbers.txt
Normal file
@ -0,0 +1,5 @@
|
||||
Rad 1
|
||||
Rad 2
|
||||
Rad 3
|
||||
Rad 4
|
||||
Rad 5
|
9
Labb8/ovning1.sh
Executable file
9
Labb8/ovning1.sh
Executable 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
28
Labb8/ovning2_ver1.sh
Executable 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
32
Labb8/ovning2_ver2.sh
Executable 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
|
Loading…
x
Reference in New Issue
Block a user