Основные утилиты и интерпретаторы ОС QNX и Linux (стандарта POSIX). Изучение основных команд пользовательского интерфейса, страница 8

> 2

> 3" | sort -n

2

3

10

$ echo "2

> 1

> 1

> 3" | sort -u

1

2

3

$ echo "10

> -5

> 3" | sort -dn

-5

3

10

grep

grep - поиск строк по шаблону

Синтаксис:

grep [опции] выражение [файл...]

grep [опции] [-e выражение | -f файл] [файл...]

Описание

grep ищет во входном файле строки, совпадающие с регулярным выражением. По умолчанию grep выводит совпадающие строки.

Некоторые опции:

-c - вывести количество совпадающих строк вместо самих строк

-i - игнорировать регистр букв

-n - выводить номера найденных строк

-v - выводить только несовпадающие строки

Примеры использования:

[group27@Computer12 group27]$ echo "abc

def

cda" | grep 'ab'

abc

[group27@Computer12 group27]$ echo "abc

def

cda" | grep -n '[ab]'

1:abc

3:cda

$ echo "abc

def

cda" | grep -c '[ab]'

2

$ grep -n 'stdlib' *

4_file_name.c:2:#include <stdlib.h>

7_gdb.c:2:#include <stdlib.h>

lab_1.2_back:95:#include <stdlib.h>

lab_1.2_back:114:#include <stdlib.h>

cut

cut - вырезает выбранные поля каждой строки файла

Синтаксис:

cut -c список [файл ...]

cut -f список [-d разделитель] [-s] [файл ...]

Некоторые опции:

-c                     Вырезать список значений, основанных на количестве символов

-f                     Вырезать список значений, основанных на разделителе

-d                     Определить разделитель

Примеры работы:

$ ls -l | cut -c 1-10,57-120

total 152

drwxr-xr-x Belyakov K B

-rwxrwxr-x a.out

-rw-rw-r-- filelog

-rw-rw-r-- helpfile

-rw-rw-r-- helplog

-rw-rw-r-- log

-rw-rw-r-- lpg

-rw-rw-r-- pr,cpp

-rw-rw-r-- pr.cpp

-rw-rw-r-- prog.cpp

-rw-rw-r-- prog1.cpp

drwxrwxr-x tmp10

$ cut -f 1,5-7 -d: /etc/passwd

root:Superuser:/root:/bin/sh

bin:Binaries Commands and Source:/bin:

daemon:System Services:/daemon:

mail:User Mail:/var/spool/mail:

news:Network News:/var/spool/news:

uucp:Network News:/var/spool/news:

ftp:FTP User:/home/ftp:

nobody:Nobody:/:

avt1::/home/avt1:/bin/sh

avt17::/home/avt17:/bin/sh

avt27::/home/avt27:/bin/sh

uniq

uniq - фильтрация повторяющихся строк

Синтаксис:

uniq [-d | -u] [-c] [-f значения] [-s символы] [файл_входа [файл_выхода]]

Некоторые опции:

-c                     Выводить количество повторов строки

-d                     Подавлять вывод неповторяющихся строк

-u                     Подавлять вывод повторяющихся строк

Примеры работы:

$ cat example

1

2

2

3

4

3

$ uniq < example  -c

1 1

2 2

1 3

1 4

1 3

$ uniq < example  -cd

2 2

$ uniq < example  -u

1

3

4

3

cmp

cmp - сравнение фаайлов

Синтаксис:

cmp [-l | -s] файл1 файл2

Некоторые опции:

-l                     Вывод в длинном формате

Примеры работы:

$ cat example

123

456

$ cat example2

127

486

$ cmp example example2

example example2 differ: char 3, line 1

$ cmp -l example example2

3 63 67

6 65 70

tr

tr - замена символов

Синтаксис:

tr [-cs] [-r <имя_файла>] <строка1> <строка2>

tr -s [-c] [-r <имя_файла>] <строка1>

tr -d [-c]  [-r <имя_файла>] <строка1

tr -ds [-c] <строка1> <строка2>

Примеры использования:

$ echo "abc" | tr b 2

a2c

$ echo "abc" | tr '^a.*c$' '^1.*3$'

1b3

diff

diff - построчное сравнение файлов

Ситнтаксис:

diff [опция]... файлы

Некоторые опции:

-i                     Игнорировать

Примеры работы:

vi

vi - текстовый редактор

Описание

vi - стандартный текстовый редактор UNIX-подобных операционных систем, построен на базе редактора ex. Редактор vi имеет два режима работы: командный режим и режим вставки. В командном режиме клавиши соответствуют командам перемещения и изменения текста. Команды vi из одной или более клавиш, а команды ex начинаются с символа ":".

В режиме вставки клавиатура используется для набора текста. Для перехода в режим команд необходимо нажать клавишу Esc. В ОС QNX vi - ссылка на elvis, один из клонов редактора vi.