summaryrefslogtreecommitdiff
path: root/os1w3/practicum.md
blob: ecc87edb06fa59ba4ba0d9efb26a196ed78d2f91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# os week 3 practicum

## 1

```bash
# print df met "human" sizes -> sorteer "human" op kolom 4 (delimiter automatisch)
$ df -h | sort -hk4 
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           785M   64K  785M   1% /run/user/1000
dev             3.9G     0  3.9G   0% /dev
run             3.9G  1.2M  3.9G   1% /run
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           3.9G  4.0K  3.9G   1% /tmp
/dev/sda2       439G  228G  189G  55% /
$ 
```

## 2

```bash
$ sort -u < opgave2.txt
een
en
nog
woord
$ sort < opgave2.txt | uniq
een
en
nog
woord
$ 
```

## 3

Ik denk dat het commando `tee` zo heet omdat het een soort t-splitsing is maar
dan voor i/o streams.

```bash
$ ls | tee listing.txt | wc -l
6
$ cat listing.txt 
huiswerk.md
opgave2.txt
os-hw.pdf
os-p.pdf
practicum.md
windows.txt
$ 
```

## 4

```bash
$ file windows.txt 
windows.txt: ASCII text, with CRLF line terminators
$ xxd windows.txt 
00000000: 6861 6c6c 6f0d 0a68 616c 6c6f 0d0a 7769  hallo..hallo..wi
00000010: 6e64 6f77 730d 0a                        ndows..
$ tr -d '\r' < windows.txt > windows-utf8.txt
$ file windows-utf8.txt 
windows-utf8.txt: ASCII text
$ xxd windows-utf8.txt 
00000000: 6861 6c6c 6f0a 6861 6c6c 6f0a 7769 6e64  hallo.hallo.wind
00000010: 6f77 730a                                ows.
$ 
```

## 5

```bash
# a (zie dat 0x0d 0x0a verandert naar 0x0a)
$ hexdump -C < windows.txt | head -n2
00000000  68 61 6c 6c 6f 0d 0a 68  61 6c 6c 6f 0d 0a 77 69  |hallo..hallo..wi|
00000010  6e 64 6f 77 73 0d 0a                              |ndows..|
$ hexdump -C < windows-utf8.txt | head -n2 
00000000  68 61 6c 6c 6f 0a 68 61  6c 6c 6f 0a 77 69 6e 64  |hallo.hallo.wind|
00000010  6f 77 73 0a                                       |ows.|
$ 
# b
$ wc -c < windows.txt   
23
# 23 bytes in windows.txt
$ wc -c < windows-utf8.txt 
20
# 20 - 3 bytes in windows-utf8.txt
$ wc -l < windows.txt 
3
# 3 regels in windows.txt (per regel een \r\n)
$ 
```