КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Использование фильтров
Фильтр - это команда, которая берет ввод из аргументов командной строки, если они есть, иначе ввод читается из стандартного ввода. Один важный момент, связанный с фильтрами - это способ их вызова. Если Вы помещаете имя файла в командную строку, фильтр открывает файл и читает данные. Давайте для начала рассмотрим несколько примеров. Уже знакомая Вам команда wc является фильтром. Мы можем вызывать ее как wc file1 file2 file3
чтобы она подсчитала слова в трех файлах. А если бы мы написали ls file1 file2 file3 | wc
команда wc подсчитала бы количество символов, которые выдала бы ls. В данном случае в строке file1 file2 file3 15 символов. Как нам получить реальные файловые данные, а не имена файлов в wc? Изменяя способ, которым мы вызываем wc: cat file1 file2 file3 | wс
Путем предварительного соединения файлов, данные передаются на вход wc, и wc суммирует подсчитанные количества символов в содержимом файлов. Та же самая концепция применима для всех команд фильтров.
cat - слияние и вывод содержимого файлов. cat [опции] [файл1] [файл2]... Команда cat по очереди читает указанные файлы и выдает их содержимое на стандартный вывод. Так, например, cat f распечатывает содержимое файла f, а cat f1 f2 > f3 сливает первые два файла и помещает результат в третий. Чтобы добавить файл f1 к файлу f2, надо выполнить команду cat f1 >> f2 Если не указан ни один файл или среди аргументов встретился - (дефис), команда cat читает данные со стандартного ввода. Опции команды cat:
С опцией -v можно использовать следующие опции:
Если опция -v не указана, то опции -t и -e игнорируются.
wc - подсчет количества символов, слов и строк в файле wc [-l] [-w] [-c] [-L] [файл...] Команда wc подсчитывает строки, слова и символы, читая их из указанных файлов или со стандартного ввода, если файлы не заданы. Подсчитывается также общий итог для всех указанных файлов. Слово - это максимальная цепочка символов, не содержащая пробелов, табуляций и переводов строк. Опции команды wc:
Можно задавать любую комбинацию этих опций. По умолчанию используется набор -lwc. Если в командной строке указаны имена файлов, то они выводятся после соответствующих сумм.
head - показывает первые строки файла head [опции] [file...]Выводит на экран первые строки указанного файла. По умолчанию число строк равно 10. Число выводимых строк можно указать после опции -n. Если не указан ни один файл или среди аргументов встретился - (дефис), команда head читает данные со стандартного ввода. Если в командной строке указано более одного имени файла, то перед распечаткой каждого из них будет выводиться однострочный заголовок, содержащий имя файла вида
==> XXX <==
где ХХХ – имя соответствующего файла. Опции команды head:
tail - показывает последние строки файла tail [опции] [файл]Команда tail выводит указанный файл на стандартный вывод, начиная с определенного места. Если файл не задан, то используется стандартный ввод. Вывод начинается с позиции на расстоянии +число от начала или -число от конца исходного файла. Если число не указано, то принимается значение, равное 10. Должен быть указан ровно один из знаков + или -. Опции команды tail:
Если первый символ параметра n является знаком +, то вывод осуществляется с n -го байта или строки от начала файла. Добавив к указанному количеству букву, можно производить распечатку в блоках: - b – 512 байт; - k – 1024 байт; - m – 1048576 байт. Если единица измерения не задана, то расстояние измеряется в строках; разумеется, нельзя указывать больше одной единицы измерения.
tr - преобразование символов tr [-c] [-d] [-s] [набор_1 [набор_2]]Команда tr копирует стандартный ввод на стандартный вывод с заменой либо удалением выбранных символов. Введенные символы, найденные в наборе_1, заменяются на соответствующие символы из набора_2. Допускаются любые комбинации опций -cds:
Чтобы помещать в цепочки отрезки алфавита и повторяющиеся символы, можно использовать следующие сокращения:
Управляющий символ \ можно использовать, чтобы отменить трактовку символа в цепочке-аргументе как специального. Кроме того, \, за которым идут одна, две или три восьмеричные цифры, обозначает символ, код ASCII которого выражается этими цифрами. В команде tr можно использовать следующие наименования классов: - [[:alnum:]] – буквы и цифры; - [[:alpha:]] – буквы; - [[:blank:]] – пробел и табуляция; - [[:cntrl:]] – управляющие символы; - [[:digit:]] – цифры; - [[:graph:]] – печатаемые символы (без пробела и табуляции); - [[:lower:]] – строчные буквы; - [[:print:]] – печатаемые символы (с пробелом и табуляцией); - [[:punct:]] – знаки пунктуации; - [[:space:]] – горизонтальные и вертикальные пробелы (символы пропуска); - [[:upper:]] – прописные буквы; - [[:xdigit:]] – шестнадцатеричные цифры.
sort - сортировка и/или слияние файлов sort [-c] [-m] [-u] [-o выходной_файл] [-d] [-f] [-i] [-M] [-n] [-r] [-b] [-t разделитель] [+позиция_1 [-позиция_2]] [файл...]Команда sort сортирует строки, входящие во все исходные файлы, и выдает результат на стандартный вывод. Если имена файлов не указаны, или в качестве файла указан – (дефис), исходная информация поступает со стандартного ввода. При упорядочении используется один или несколько ключей сортировки, выделяемых из каждой вводимой строки. По умолчанию ключ сортировки один – вся строка, а порядок является лексикографическим, соответствующим принятой кодировке символов. При сортировке команда sort учитывает структуру файла. Если при вызове не указать ни одного параметра, строки сортируются сначала по первому полю (по умолчанию разделителем полей является пробел или табуляция; поля нумеруются начиная с нуля). Если в нескольких строках содержимое первого поля одинаково, производится сортировка этих строк по второму полю. Если второе одинаково – по третьему полю и т.д. Следующие опции изменяют стандартный порядок работы:
Следующие опции позволяют выбрать нужный способ сравнения:
Если опции, задающие способ сравнения, указаны до ограничений на ключи сортировки, то они применяются глобально ко всем ключам. Если же соответствующие флаги ассоциированы с определенными ключами сортировки (см. ниже), они воздействуют только на "свои" ключи. Полем называется минимальная последовательность символов, за которой следует разделитель полей или перевод строки. По умолчанию символом-разделителем считается пробел или символ табуляции. Пробелы и табуляции сразу вслед за разделителем (если они есть) принадлежат следующему полю. Все пробелы в начале строки входят в первое поле. На трактовку разделителей влияют следующие опции:
При наложении ограничения на ключ сортировки указывается позиция начала ключа (+позиция_1) и позиция сразу за концом ключа (-позиция_2). Если опция -позиция_2 отсутствует, ключ занимает весь остаток строки. Позиция_1 и позиция_2 задаются как пара m.n, возможно, с последующими флагами bdfiMnr. Начальная позиция задается как +m.n, что означает (n+1)-ый символ в (m+1)-ом поле (поля и символы нумеруются с единицы). Отсутствие.n означает.0, то есть первый символ (m+1)-го поля. Если указан флаг b, то n отсчитывается от первого непробела в (m+1)-ом поле; +m.0b означает первый непробел в (m+1)-ом поле. Позиция за концом ключа записывается как -m.n, что означает (n+1)-ый символ (включая разделители) после последнего символа m-го поля. Если.n опущено, то подразумевается.0, то есть разделитель после m-го поля. Если указан флаг b, то n отсчитывается от первого непробела в (m+1)-ом поле. Если указано несколько ключей сортировки, то более поздние используются только в случае равенства более ранних. Если значения ключей сортировки двух строк совпадают, строки упорядочиваются с учетом всех символов.
uniq – удаляет дублирующиеся строки из отсортированного файла uniq [-u] [-d] [-c] [-число_полей] [+число_символов]] [исходный_файл [выходной_файл]]Команда uniq читает исходный_файл и сравнивает соседние строки. В обычном режиме вторая и последующие копии повторяющейся строки исключаются; остаток поступает в выходной_файл, который не должен совпадать с исходным, или на стандартный вывод. Для того чтобы повторяющиеся строки были обнаружены, они должны быть соседними. Поэтому команду uniq рекомендовано применять к файлу после использования команды sort. Опции команды uniq:
cut - команда выборки отдельных полей из строк файла cut [опции] [файл...]Команда cut используется для выборки колонок из таблицы или полей из каждой строки файла. Поля, специфицированные списком, могут быть фиксированной длины, то есть расположенные как на перфокарте (опция -c), или переменной длины, изменяющейся от строки к строке; в этом случае границей поля является символ-разделитель, например, символ табуляции (опция -f). Команду можно использовать как фильтр: если не указано ни одного файла или задано имя - (дефис), используется стандартный ввод. Результат всегда поступает на стандартный вывод. Опции команды cut:
Одна из опций –b, -c или -f должна быть задана обязательно. Список состоит из одного или нескольких диапазонов, разделенных запятыми. Диапазон задается следующим образом: - n – n-й байт, символ или поле, отсчитывается от 1; - n- – от n-го байта, символа или поля до конца строки; - n-m – от n-го до m-го байта, символа или поля (включительно); - -m – от 1-го до m-го байта, символа или поля (включительно). Список целых номеров полей указывается в возрастающем порядке, номера перечисляются через запятую; возможен символ - для указания интервалов; например, 1,4,7; 1-3,8; -5,10 (сокращение для 1-5,10); 3 (обозначение для интервала от 3 до последнего поля).
Для осуществления горизонтальной проекции содержимого файла по контексту используйте команду grep.
Дата добавления: 2015-07-02; Просмотров: 303; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |