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?
|
Eller var det någon annan rad?
|
||||||
Det här är iaf den sista raden i en
|
Det här är iaf den sista raden i en
|
||||||
text om rader.
|
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
|
# Mer test från laborationsbeskrivningen
|
||||||
ls -l /etc/| awk 'BEGIN { print "Found:\n" } /^.*\.conf$/ { print $9 } END { print "\nDone" }'
|
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.
|
Fler exempel finns i denna mappen i form av bland annat en rad awk-skript.
|
||||||
|
|
||||||
|
|
||||||
## Reflektion ##
|
## 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