From 8081a5520a441b43a8a7a73f3a90c7aacfaa8e10 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Sun, 24 Feb 2019 21:05:27 +0100 Subject: Move everything one level up --- .../solution/solution.py | 92 ---------------------- .../solution/solution.sh | 40 ---------- 2 files changed, 132 deletions(-) delete mode 100644 kpov_judge/tasks/copy_rename_20_files_tail_env/solution/solution.py delete mode 100644 kpov_judge/tasks/copy_rename_20_files_tail_env/solution/solution.sh (limited to 'kpov_judge/tasks/copy_rename_20_files_tail_env/solution') 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
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
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 -- cgit v1.2.1