Sign in / Register
05 Year

Rok v logu

Termín na odevzdání je neděle ve 12. výukovém týdnu do 23:59.

Existuje záznam o přihlášených uživatelích - last. Jelikož je s každým přihlášením záznam mění, obvykle se používá příkaz last na jeho vypsání. Místo příkazu last budeme používat soubor, který pro svou velikost může být komprimovaný příkazem gzip.

Pro práci s komprimovanými soubory je možné používat z... varianty příkazů, např. zcat, zgrep, zless, které soubor za běhu dekomprimují.

Dekomprimovaná ukázka záznamu o přihlášení

Tento záznam (log), podobně jako celá řada podobných, trpí jedním problémem. Chybí v časovém značce informace o roce, kdy byl zápis pořízen. Nebylo totiž obvyklé, že by se do logu zapisovalo přes několik měsíců nebo dokonce let. Pokud je to však naše situace, bylo by potřeba tam údaj o roku dodat alespoň dodatečně.

Přidání roku k časovému údaji

Vytvořte skript run.sh, který dostane aktuální rok jako první argument a obsah komprimovaného logu (last) na standardní vstup. Skript na standardní výstup vypíše obsah zadaného souboru doplněný o údaj roku umístěný mezi název dne a měsíce.

Jelikož je záznam uložený od nejmladší položky k nejstarší, zadaný hodnota roku bude platit pro první řádek a postupně se bude snižovat při přechodu k předchozímu roku. Takže například rok prvotního spuštění (wtmp begins) musíme takto dopočítat.

./run.sh 2023 < last.gz
vosictom  sshd         static-84-42-176 Fri 2023 Feb 19 22:42 - 22:43  (00:00)
muzikar   pts/2        78-80-2-33.tmcz. Fri 2023 Feb 19 21:07 - 00:52  (03:44)
muzikar   sshd         78-80-2-33.tmcz. Fri 2023 Feb 19 19:26 - 00:52  (05:25)
reboot    system boot                   Fri 2023 Feb 19 18:12
reboot    system down                   Fri 2023 Feb 19 18:11
muzikar   pts/2        e-77-198.eduroam Fri 2023 Feb 19 16:41 - down   (01:30)
muzikar   sshd         e-77-198.eduroam Fri 2023 Feb 19 16:41 - down   (01:30)
root      pts/1        147.32.232.137   Fri 2023 Feb 19 15:10 - 16:25  (01:15)
root      sshd         147.32.232.137   Fri 2023 Feb 19 15:10 - 16:25  (01:15)
root      console                       Fri 2023 Feb 19 15:02 - down   (01:26)
reboot    system boot                   Fri 2023 Feb 19 14:54
reboot    system down                   Fri 2023 Feb 19 10:35
root      console                       Fri 2023 Feb 19 10:34 - 10:35  (00:00)
reboot    system boot                   Fri 2023 Feb 19 10:26

wtmp begins Fri 2023 Feb 19 10:26

run.sh