UNIX: работа с текстовыми данными
Два слова про пути
дописать #!/usr/bin/python в начало prog.py
chmod +x prog.py
which
./prog.py
Работа с текстовыми данными в UNIX
head file.txt
head -n 10 file.txt
head -c 100 file.txt
tail -n 10 file.txt
tail -c 10 file.txt
head -n -2 file.txt
tail -n +2 file.txt
команда | команда
head -n 30 file.txt | tail -n 10
sort file.txt
echo 1 >> numbers.txt echo 2 >> numbers.txt echo 10 >> numbers.txt echo 11 >> numbers.txt echo 20 >> numbers.txt echo 100 >> numbers.txt
sort numbers.txt
sort -n numbers.txt
man sort
sort -n -r numbers.txt
sort -nr numbers.txt
sort -n numbers.txt -r
sort numbers.txt -rn
sort file.txt | uniq
sort file.txt | uniq -c
sort file.txt | uniq -c | sort -n
sort file.txt | uniq -c | sort -n | tail -n 1
кавычки можно и , и ""; "" ведут себя как обычные в питоне, ведут себя как питонские r (ПРИБЛИЗИТЕЛЬНО!) tr 'множество1' 'множество2' cat file.txt | tr ' ' '\n' cat file.txt | tr ' ' '\n' | sort | uniq -c | sort -n | tail -n 1 cat file.txt | tr ' ' '\n' | sort | uniq -c | sort -n -r | head egrep: был ed, команда g/регулярка/ + команда p была популярна, её функциональность выделили в отдельную утилиту: gREp (grep). У неё был синтаксис регулярок времён 70-х годов. Привычнее нам (и правильнее) синтаксис extended => egrep. grep 'word' file.txt grep '<a [^>]*>' file.txt grep -o '<a [^>]*>' file.txt grep -o '</?a( [^>]|)>' file.txt grep -v 'word' file.txt grep -v '^$' file.txt cat file.txt | tr ' ' '\n' | grep -v '^$' | sort | uniq -c | sort -n -r | head grep 'word' * grep -l 'word' * grep -rl 'word' * grep -l 'word' * > matching_filenames.txt NB: ошибки пишутся в stderr, а данные пишутся в stdout, поэтому в файл попадут только содержательные данные, а на экране останутся сообщения об ошибках. В питоне в модуле sys есть sys.stdout и sys.stderr ведут себя как файлы (можно sys.stderr.write()). print пишет в stdout.
Flask: формы
...
<form action="куда отсылать">
<input name="имя переменной" value="наполнение по умолчанию">
<input type="submit" name="имя переменной" value="текст на кнопочке">
</form>
...
from flask import ..., request
@app.route(...)
def ...
value = request.args['имя переменной']
...