summaryrefslogtreecommitdiff
path: root/kpov_judge/tasks/copy_rename_20_files_tail_env/solution
diff options
context:
space:
mode:
authorTimotej Lazar <timotej.lazar@fri.uni-lj.si>2019-02-24 21:05:27 +0100
committerTimotej Lazar <timotej.lazar@fri.uni-lj.si>2019-02-24 21:05:27 +0100
commit8081a5520a441b43a8a7a73f3a90c7aacfaa8e10 (patch)
treec7f49bd33ed19d53afc0ee9df8b2c82c200c5910 /kpov_judge/tasks/copy_rename_20_files_tail_env/solution
parent9963b74f777edf985540eac71b1ca095f88b8bca (diff)
Move everything one level up
Diffstat (limited to 'kpov_judge/tasks/copy_rename_20_files_tail_env/solution')
-rw-r--r--kpov_judge/tasks/copy_rename_20_files_tail_env/solution/solution.py92
-rw-r--r--kpov_judge/tasks/copy_rename_20_files_tail_env/solution/solution.sh40
2 files changed, 0 insertions, 132 deletions
diff --git a/kpov_judge/tasks/copy_rename_20_files_tail_env/solution/solution.py b/kpov_judge/tasks/copy_rename_20_files_tail_env/solution/solution.py
deleted file mode 100644
index f661c4d..0000000
--- a/kpov_judge/tasks/copy_rename_20_files_tail_env/solution/solution.py
+++ /dev/null
@@ -1,92 +0,0 @@
-# preimenuj vse datoteke tako, da zamenjaš minuse s podčrtaji
-def rename():
- import os
- for filename in os.listdir('.'):
- os.rename(filename, filename.replace('-', '_'))
-
-# Napiši čim krajši ukaz, ki vse datoteke iz /home/user/mapa/mojimenik premakne v /home/user/novi
-def mv_novi():
- import os
- for filename in os.listdir("/home/user/mapa/mojimenik/"):
- os.rename('/home/user/mapa/mojimenik/' + filename, '/home/user/novi/' + filename)
-
-# Napiši ukaz, ki s pomočjo ukaza grep v datoteko "mama.txt" izpiše vse navade (ne skrite) datoteke v trenutnem imeniku, ki vsebujejo niz "mama", v datoteko "napake.txt" pa izpiše vse morebitne napake (npr. to, da so nekateri objekti v trenutnem imeniku dejansko imeniki ali napačne simbolične povezave)
-def mama():
- import os
- import re
- import mmap
- mama = ''
- wrong = ''
- for filename in os.listdir('.'):
- try:
- f = open(filename, 'r+')
- data = mmap.mmap(f.fileno(), 0)
- if re.search('mama', data):
- mama = mama + filename + "\n"
- except ValueError:
- wrong = wrong + filename + "\n"
- open('mama.txt', 'w').write(mama)
- open('napake.txt', 'w').write(wrong)
-
-# Napiši ukaz, ki bo 5s sledil vsebini /var/log/syslog. V primeru, da se v syslogu pojavi niz "zmeda", naj program izpiše "imam ga". Poleg tega naj program med sledenjem syslog-u odšteva od 5 do 1 (vsako sekundo naj se izpiše naslednja številka.
-def checker():
- import time
- import re
- import mmap
- t = time.time() * 1000
- n = t
-
- f = open('/var/log/syslog', 'r+')
- data = mmap.mmap(f.fileno(), 0)
- me = re.findall('zmeda', data)
-
- c = len(me)
- for i in range(5, 0, -1):
- print(i)
- n += 1000
- while n > t:
- f = open('/var/log/syslog', 'r+')
- data = mmap.mmap(f.fileno(), 0)
- me = re.findall('zmeda', data)
- if len(me) > c:
- c = len(me)
- print('imam ga')
- t = time.time() * 1000
-
-# Nastavi okoljsko spremenljivko TEST, da bo imela isto vrednost kot okoljska spremenljivka USER + število okoljskih spremenljivk, ki v imenu ali vrednosti ne vsebujejo besede TEST. Primer: polz37
-def env():
- import os
- import re
- c = 0
- for i in os.environ:
- if not (re.search('TEST', i) or re.search('TEST', os.environ[i])):
- c = c + 1
- os.environ['TEST'] = os.environ['USER'] + repr(c)
-
-# S pomočjo programa cURL shrani vsebino spletne strani www.google.com v datoteko z imenom website.txt
-def googl():
- import urllib.request
- open('website.txt', 'w').write(urllib.request.urlopen('http://www.google.com').read())
-
-# Napiši ukaz, ki bo število pojavitev značke <div> v datoteki website.txt dodal na konec te iste datoteke brez, da bi se ukaz zapisal v zgodovino ukazov "bash history"
-def div():
- import re
- import mmap
- f = open('website.txt', 'r+')
- data = mmap.mmap(f.fileno(), 0)
- me = re.findall('<[^/<>]*div[^>]*>', data)
- open('website.txt', 'a+').write(repr(len(me)))
-
-# Napiši ukaz brez uporabe programa cron, kateri 5 minut po izvedbi izpiše vsebino imenika v katerem se trenutno nahajaš
-def sleep():
- import time
- import os
- time.sleep(300)
- print(os.listdir('.'))
-
-# Napiši najkrajši ukaz, ki s pomočjo Pythona zažene preprost (integriran) HTTP strežnik kateri streže datoteke iz imenika iz katerega je bil pognan na vratih 8000
-def server():
- import http.server
- import socketserver
- httpd = socketserver.TCPServer(("", 8000), http.server.SimpleHTTPRequestHandler)
- httpd.serve_forever()
diff --git a/kpov_judge/tasks/copy_rename_20_files_tail_env/solution/solution.sh b/kpov_judge/tasks/copy_rename_20_files_tail_env/solution/solution.sh
deleted file mode 100644
index b8e2d13..0000000
--- a/kpov_judge/tasks/copy_rename_20_files_tail_env/solution/solution.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/bash
-
-# preimenuj vse datoteke tako, da zamenja minuse s podrtaji
-rename 'y/-/_/' *
-
-# Napii im kraji ukaz, ki vse datoteke iz /home/user/mapa/mojimenik premakne v /home/user/novi
-mv /home/user/mapa/mojimenik/* /home/user/novi/
-
-# Napii ukaz, ki s pomojo ukaza grep v datoteko "mama.txt" izpie vse navade (ne skrite) datoteke v trenutnem imeniku, ki vsebujejo niz "mama", v datoteko "napake.txt" pa izpie vse morebitne napake (npr. to, da so nekateri objekti v trenutnem imeniku dejansko imeniki ali napane simboline povezave)
-grep -l 'mama' * 1>mama.txt 2>napake.txt
-
-# Napii ukaz, ki bo 5s sledil vsebini /var/log/syslog. V primeru, da se v syslogu pojavi niz "zmeda", naj program izpie "imam ga". Poleg tega naj program med sledenjem syslog-u odteva od 5 do 1 (vsako sekundo naj se izpie naslednja tevilka.
-COUNT=$(grep 'zmeda' /var/log/syslog | wc -l );
-END=$(date +%s%N | cut -b1-13);
-for i in {5..1}; do
- END=$(($END + 1000));
- echo "$i";
- while [ $(date +%s%N | cut -b1-13) -lt $END ]; do
- COUN1=$(grep 'zmeda' /var/log/syslog | wc -l );
- if [ $COUN1 -gt $COUNT ]; then
- echo "imam ga";
- COUNT=$COUN1;
- fi
- done
-done
-
-# Nastavi okoljsko spremenljivko TEST, da bo imela isto vrednost kot okoljska spremenljivka USER + tevilo okoljskih spremenljivk, ki v imenu ali vrednosti ne vsebujejo besede TEST. Primer: polz37
-TEST="$USER$(printenv | grep -v TEST | wc -l)"; export TEST
-
-# S pomojo programa cURL shrani vsebino spletne strani www.google.com v datoteko z imenom website.txt
-curl http://www.google.com > website.txt
-
-# Napii ukaz, ki bo tevilo pojavitev znake <div> v datoteki website.txt dodal na konec te iste datoteke brez, da bi se ukaz zapisal v zgodovino ukazov "bash history"
-grep -o "<[^/<>]*div[^>]*>" website.txt | wc -l >> website.txt; history -d $((HISTCMD-1))
-
-# Napii ukaz brez uporabe programa cron, kateri 5 minut po izvedbi izpie vsebino imenika v katerem se trenutno nahaja
-$(sleep 300; ls) &
-
-# Napii najkraji ukaz, ki s pomojo Pythona zaene preprost (integriran) HTTP strenik kateri stree datoteke iz imenika iz katerega je bil pognan na vratih 8000
-python -m SimpleHTTPServer \ No newline at end of file