Содержимое страницы «Users/bogoeva.v/pr3».
Пересказ по команде sort
Функция команды – сортировать строки файла или ввода.
Порядок вывода строк по умолчанию:
1) Пустые строки
2) Строки, начинающиеся с пробела
3) Строки, начинающиеся с числа, по увеличению первой цифры
4) Строки с большой буквы в алфавитном порядке
5) Строки со строчной буквы в алфавитном порядке
Сортировка без опций:
sort test1.txt > sort_no_option.txt
sort numtest.txt > numsort.txt
sort monthtest.txt > monthsort.txt
==Опции==;
-b игнорировать пробелы вначале
Пустые строки идут раньше непустых, но остальные сортируются без учёта пробелов
sort -b test1.txt > sort-b.txt
-d учитывать только пробелы и буквенно-циферные символы
- Когда в файле есть строки, начинающиеся с других символов
-f не учитывать регистр
sort -f test1.txt > sort-f.txt
-g сравнение чисел по числовому значению
sort -g numtest.txt > num-g.txt
-M сортировка месяцев
sort -M monthtest.txt > monthsort-M.txt
-r изменить порядок на обратный
sort -br test1.txt > sort-br.txt
-с проверка на отсортированность
Если порядок правильный, ничего не выводится. При вводе неотсортированного текста, например:
sort -c test1.txt
Вывод:
sort: test1.txt:2: disorder:
Опцию -c тоже можно комбинировать с другими. Например, при команде:
sort -cbr sort-br.txt
Ничего не выводится – порядок правильный.
-n
Для сортировки по числу необходимо указать колонку, в которой расположено число. Например:
sort -nk2 monthtest.txt > monthsort-nk2.txt
Сортирует по числам
Файлы
test1.txt
THE TRAGEDY OF HAMLET, PRINCE OF DENMARK by William Shakespeare 2AAAA 1AAAA Dramatis Personae Claudius, King of Denmark. Marcellus, Officer. Hamlet, son to the former, and nephew to the present king. Polonius, Lord Chamberlain. Horatio, friend to Hamlet. Laertes, son to Polonius. Voltemand, courtier. Cornelius, courtier. Rosencrantz, courtier. Guildenstern, courtier. Osric, courtier. A Gentleman, courtier. A Priest. Marcellus, officer. Bernardo, officer. Francisco, a soldier Reynaldo, servant to Polonius. Players. Two Clowns, gravediggers. Fortinbras, Prince of Norway. A Norwegian Captain. English Ambassadors. Getrude, Queen of Denmark, mother to Hamlet. Ophelia, daughter to Polonius. Ghost of Hamlet's Father. Lords, ladies, Officers, Soldiers, Sailors, Messengers, Attendants.
numtest.txt
1111111 2 000000000000 010101 999 3
monthtest.txt
AUG 1 MAR 7 FEB 11 JULE 15 SEPT 1 JUNE 31 MAY 1 NOV 10 APR 10 DEC 31 OCT 2 JAN 3
sort_no_option.txt
A Gentleman, courtier. A Norwegian Captain. A Priest. Bernardo, officer. Claudius, King of Denmark. Cornelius, courtier. English Ambassadors. Fortinbras, Prince of Norway. Francisco, a soldier Getrude, Queen of Denmark, mother to Hamlet. Ghost of Hamlet's Father. Guildenstern, courtier. Hamlet, son to the former, and nephew to the present king. Horatio, friend to Hamlet. Laertes, son to Polonius. Lords, ladies, Officers, Soldiers, Sailors, Messengers, Attendants. Marcellus, Officer. Marcellus, officer. Ophelia, daughter to Polonius. Osric, courtier. Players. Polonius, Lord Chamberlain. Reynaldo, servant to Polonius. Rosencrantz, courtier. Two Clowns, gravediggers. Voltemand, courtier. 1AAAA 2AAAA Dramatis Personae THE TRAGEDY OF HAMLET, PRINCE OF DENMARK by William Shakespeare
numsort.txt
000000000000 010101 1111111 2 3 999
monthsort.txt
APR 10 AUG 1 DEC 31 FEB 11 JAN 3 JULE 15 JUNE 31 MAR 7 MAY 1 NOV 10 OCT 2 SEPT 1
sort-b.txt
1AAAA 2AAAA A Gentleman, courtier. A Norwegian Captain. A Priest. Bernardo, officer. Claudius, King of Denmark. Cornelius, courtier. Dramatis Personae English Ambassadors. Fortinbras, Prince of Norway. Francisco, a soldier Getrude, Queen of Denmark, mother to Hamlet. Ghost of Hamlet's Father. Guildenstern, courtier. Hamlet, son to the former, and nephew to the present king. Horatio, friend to Hamlet. Laertes, son to Polonius. Lords, ladies, Officers, Soldiers, Sailors, Messengers, Attendants. Marcellus, Officer. Marcellus, officer. Ophelia, daughter to Polonius. Osric, courtier. Players. Polonius, Lord Chamberlain. Reynaldo, servant to Polonius. Rosencrantz, courtier. THE TRAGEDY OF HAMLET, PRINCE OF DENMARK Two Clowns, gravediggers. Voltemand, courtier. by William Shakespeare
sort-f.txt
A Gentleman, courtier. A Norwegian Captain. A Priest. Bernardo, officer. Claudius, King of Denmark. Cornelius, courtier. English Ambassadors. Fortinbras, Prince of Norway. Francisco, a soldier Getrude, Queen of Denmark, mother to Hamlet. Ghost of Hamlet's Father. Guildenstern, courtier. Hamlet, son to the former, and nephew to the present king. Horatio, friend to Hamlet. Laertes, son to Polonius. Lords, ladies, Officers, Soldiers, Sailors, Messengers, Attendants. Marcellus, Officer. Marcellus, officer. Ophelia, daughter to Polonius. Osric, courtier. Players. Polonius, Lord Chamberlain. Reynaldo, servant to Polonius. Rosencrantz, courtier. Two Clowns, gravediggers. Voltemand, courtier. 1AAAA 2AAAA by William Shakespeare Dramatis Personae THE TRAGEDY OF HAMLET, PRINCE OF DENMARK
num-g.txt
000000000000 2 3 999 010101 1111111
monthsort-M.txt
JAN 3 FEB 11 MAR 7 APR 10 MAY 1 JUNE 31 JULE 15 AUG 1 SEPT 1 OCT 2 NOV 10 DEC 31
sort-br.txt
by William Shakespeare Voltemand, courtier. Two Clowns, gravediggers. THE TRAGEDY OF HAMLET, PRINCE OF DENMARK Rosencrantz, courtier. Reynaldo, servant to Polonius. Polonius, Lord Chamberlain. Players. Osric, courtier. Ophelia, daughter to Polonius. Marcellus, officer. Marcellus, Officer. Lords, ladies, Officers, Soldiers, Sailors, Messengers, Attendants. Laertes, son to Polonius. Horatio, friend to Hamlet. Hamlet, son to the former, and nephew to the present king. Guildenstern, courtier. Ghost of Hamlet's Father. Getrude, Queen of Denmark, mother to Hamlet. Francisco, a soldier Fortinbras, Prince of Norway. English Ambassadors. Dramatis Personae Cornelius, courtier. Claudius, King of Denmark. Bernardo, officer. A Priest. A Norwegian Captain. A Gentleman, courtier. 2AAAA 1AAAA
monthsort-nk2.txt
AUG 1 MAY 1 SEPT 1 OCT 2 JAN 3 MAR 7 APR 10 NOV 10 FEB 11 JULE 15 DEC 31 JUNE 31