Практикум 3.
Задание 1. Команда head.
Общие сведения о команде
Команда head выводит начальные строки (по умолчанию — 10) из одного или нескольких документов. Она также способна показывать данные, которые передаёт на вывод другая утилита. Данная команда может быть использована совместно с другими, например, с командой echo. Работа head осуществляется и с текстовыми файлами, и с текстом, напечатанным в командной строке терминала.
Опции
-c, --bytes=[-]NUM - позволяет задавать количество текста не в строках, а в байтах
-n, --lines=[-]NUM - показывает заданное количество строк
-q, --quiet, --silent - выводит только текст, не добавляя к нему название файла
-v, --verbose - выводит название файла перед текстом
-z, --zero-terminated - символы перехода на новую строку заменяет символами завершения строк
Правило ввода
head [OPTION]... [FILE]...
Примеры
Рассмотрим функционал команды на таблице с данными о выбранной мною бактерии - Campylobacter coli. Классический способ использования:
~/term1/genome$ head feature_table.txt
ID
Feature
Class
Assembly
Assembly_unit
Seq_type
Chromosome
Genomic_accession
Start
End
Выведены первые 10 строк текста (по умолчанию).
При желании можно единовременно получить вывод с нескольких файлов: необходимо перечислить названия, разделяя их пробелом. В качестве второго файла выберем геном бактерии:
~/term1/genome$ head feature_table.txt genomic.fna
==> feature_table.txt <==
ID
Feature
Class
Assembly
Assembly_unit
Seq_type
Chromosome
Genomic_accession
Start
End
==> genomic.fna <==
>NZ_CP046317.1 Campylobacter coli strain FDAARGOS_735 chromosome, complete genome
TGAAAAATATTGTCTTTCATTCGGATGGTTTTGGAGATTTATTAGTTTGTTTTAAGGCTTTGTATGCTATAAAGCAACTC
TATCCAGAGTATAAATTATTTTTATTAACAAATGGATTAATGGAAAGTGATTTTTTAGAAAAAATTCCATTTATTGATGA
AGTTTTGATTTATAAGGATGATTTTTTAGAAAAAATTCAAAGCAAAAATCCAGTAATTTTTATTACCACACGAAGACAAG
GTTTATATTTTAAAAAATTAAAATTTTTAAATGTTCAAAAATGTATAGTATTCCCTCATCTTATTAGTATAATTTCTAAA
AATTTAACCACACCTTTACCATTTTTTAGAGCTAAAAAACATATGAGTGAAATTGTTTTAAAATTGGTTAGGATGATTAA
TACTAGGCATTTTGATAAAAATTTTAATCAAATTGATTTTTCTAAAATTAAAAATTTATTACCTTATGATGCAAGATTAA
GTGATAATTTTTTTAAACAAATTGATACAAAATATGAAAAAATTATAGGTATTAATGCTTTTTCAAATAATAGCGAATAT
AGAGGATTTAATTTTTTTATAAAAGATTGGATAGGGCTTGCAAGGCAACTTTCTTTAAAATATCCTAAATTTTTATTTAT
ACTTTTAAATTTTAGTACGAATTCTATTCAGTATAATATTGATCAGAATGCAAATTTGAAAGTTTTCTGTAATAATAAAA
Содержимое файлов (их может быть 2 и более) автоматически разделяется пустой строкой, перед каждым текстом выводится название соответствующего документа.
Для того, чтобы название документа выводилось перед текстом и при работе с одним файлом, необходимо воспользоваться опцией -v:
~/term1/genome$ head -v feature_table.txt
==> feature_table.txt <== ID Feature Class Assembly Assembly_unit Seq_type Chromosome Genomic_accession Start End Для регулирования количества выводимых строк используется опция -n: ~/term1/genome$ head -n 2 feature_table.txt ID Feature ~/term1/genome$ head -n 13 feature_table.txt ID Feature Class Assembly Assembly_unit Seq_type Chromosome Genomic_accession Start End Strand Product_accession Name Если необходимо вывести на экран определенное число байтов текста, используется опция -c: ~/term1/genome$ head -c 512 feature_table.txt (где 512 - number of bites).