Kodomo

Пользователь

Практикум 4


Задание 2


Согласно материалам Gallerix, найденным с помощью Google Images, это картина кисти чешского художника Зденека Буриана, которая называется «Игуанодон». Файл был скопирован в память iPad в графическом интерфейсе программы Termius. При вводе имени хоста, порта, имени пользователя и пароля открывался доступ к просмотру, скачиванию и удалению из домашней директории и нижестоящих файлов, параметры доступа которых предполагали эти возможности.

задание 3


Для нахождения количества файлов в папке /P/y20/term1/pr4/files был использован конвейер из команд ls и wc, где ls возвращал имена файлов, а wc, во второй колонке, - количество слов, что соответствовало искомому количеству файлов. Без флага ls выдавал лишь имена тех файлов, которые не начинались с точки.

$ cd /P/y20/term1/pr4/files
$ ls | wc
     88      88    1132


Для подсчета всех файлов в данной директории, включая системные, была использована опция -a для ls.

$ ls -a | wc
     93      93    1168


Для рекурсивного подсчета файлов во всех нижестоящих директориях была использована опция -R. Вывод символов :. командой ls -R заставил wc также подсчитать их. Так как число возросло лишь на 1, то количество выведенных ls файлов осталось прежним: 88.

$ ls -R | wc
     89      89    1135


И, наконец, для подсчета всех файлах данной директории и нижестоящих, включая системные были использованы опции -Ra. Так как опция -R в первой строчке выдает символы .:, wc их также подсчитал. Так как кажущееся число файлов возросло на 1, то иных файлов в нижестоящих директориях не было, исключая недоступные директории . и ... Таким образом выведенных файлов все еще 93.

$ ls -Ra | wc
     94      94    1171


Итого файлов в данной директории:

Не включая системные

Включая начинающиеся с . и ..

Не включая поддиректории

88

93

С рекурсивным подсчетом

88

93


Для подсчета файлов с расширением .txt был использован конвейер из find и wc. Флаг -name позволял найти файлы, имя которых оканчивалось на .txt. Таковых в данной директории оказалось 14.

$ find -name "*.txt" | wc
     14      14     193


Для объединения всех файлов из /P/y20/term1/pr4/files с расширением .fasta в один файл, помещаемый в директорию ~/term1/block1/credits/Xxxx_all.fasta, была использована команда cat, поток вывода которой был перенаправлен в новый файл.

$ cat *.fasta > ~/term1/block1/credits/Nikonov_all.fasta


Задание 4


Для объединения имен всех последовательностей, маркируемых символом >, в один файл была использована команда grep, поток вывода которой был перенаправлен в новый файл.

$ cd ~/term1/block1/credits
$ grep '^>' Nikonov_all.fasta > Nikonov_all.names


Для подсчета строк, начинающихся на >, файлов с расширением .fasta из директории /P/y20/term1/pr4/files была использована команда grep с флагами -c для подсчета искомых строк во всех файлах с расширением .fasta.

$ cd /P/y20/term1/pr4/files
$ grep -c '^>' *.fasta
1.fasta:1
Xax229_230.fasta:2
pan1_mouse.fasta:1
pan3_mouse.fasta:1


Для подсчета числа атомов гистидина в структуре белка из выбранного файла 1MNM.pdb был использован конвейер из двух grep, последний из которых вводился с флагом .

kodomo:~> cd /P/y08/Term_5/Materials/
cd /P/y08/Term_5/Materials/
kodomo:/P/y08/Term_5/Materials> ls
ls
1DLP.pdb  1GT0.pdb  1KMY.pdb  1MNM.pdb  2B5A.pdb  2b5a.omap  5RXN.pdb  7GPB.pdb  AA_residues.gif
kodomo:/P/y08/Term_5/Materials> grep '^ATOM' 1MNM.pdb | grep -c 'HIS'
grep '^ATOM' 1MNM.pdb | grep -c 'HIS'
60
kodomo:/P/y08/Term_5/Materials> 


Более короткий вариант предполагал использование egrep с логической операцией AND.

kodomo:/P/y08/Term_5/Materials> egrep -c '^ATOM.*HIS' 1MNM.pdb
60


И в более современной формулировке:

kodomo:/P/y08/Term_5/Materials> grep -Ec '^ATOM.*HIS' 1MNM.pdb
60


egrep используется для того, чтобы вместо базового регулярного выражения можно было подставить расширенное. Это позволяет распознавать по умолчанию несколько дополнительных символов как спецсимволы. В данном случае .* указывает на то, что сочетание литералов ATOM может встречаться в начале строки (так как перед ATOM стоит ^) один раз или более. Очевидно, что любая заданная последовательность литералов может встретиться в начале строки не более одного раза.