Спец курс (Автоматизация процесса проектирования)/Практические задания 3
Материал из Wiki
				
								
				
				
																
				
				
								
				Перед выполнение ознакомиться с правилами оформления задания
Задания по SED
Задание будет успешно выполнено, если были использованы конструкции языка bash и редактор sed (не допускается использовать другие утилиты кроме SED, допускается помогать при обработке из bash).
- Двойное пространство между строками между каждой второй строкой
 - Тройное пространство между строками исключая пустые строки (на выходе содержатся не больше одной пустой строки между двумя строками с текстом)
 - Десятерное пространство между каждой 2-ой строкой
 - Удалить каждую пятую строку
 - Вставить пустую строку и строку с первым символом # перед каждой строкой соответствующей регулярному выражению "regex"
 - Вставить строку с символом /* после каждой строки соответствующей регулярному выражению "begin"
 - Вставить строку с символом */ после каждой строки соответствующей регулярному выражению "end"
 - Нумерация каждой 4 строки в файле filename. Используя отступ для отделения номера от строки
 - Нумерация каждой строки в файле filename (номер слева максимум 9-значный, выравненный по правому краю)
 - Нумерация каждой строки в файле filename, с выводом номера только для не пустых строк и каждой с номером кратным 3
 - Подсчет строк (эмуляция "wc -l") в файле содержащих выражение "begin"
 - Удалить все пробелы и символы табуляции в начале каждой строки файла
 - Удалить все пробелы и символы табуляции в конце каждой строки файла
 - Удалить все пробелы и символы табуляции в начале и конце каждой строки файла
 - Удалить все повторяющиеся пробелы и символы табуляции в начале и конце и в средине каждой строки файла
 - Вставить 3 табуляции в начале каждой строки (создать смещение страницы)
 - Расположить весь текст по правому краю столбца шириной в 80 символов
 - Центрировать весь текст посередине столбца шириной 108 символов.
 - Поиск и замена "Hi\bro" на "Yo\bro" в каждой строке
 - Поиск и замена "Hi\bro" на "Yo\bro" (замена только первого совпадения в строке)
 - Поиск и замена "Hi\bro" на "Yo\bro" (замена первых 4рех совпадений в строке)
 - Поиск и замена "Hi\bro" на "Yo\bro" (замена ВСЕХ совпадений в строке)
 - Поиск и замена "Hi\bro" на "Yo\bro" (замена предпоследнего совпадения)
 - Поиск и замена "Hi\bro" на "Yo\bro" (замена только последнего совпадения)
 - Замена "Hi\bro" на "Yo\bro" ТОЛЬКО для строк содержащих "Black"
 - Замена "Hi\bro" на "Yo\bro" ИСКЛЮЧАЯ строки содержащие "Black"
 - Замена "scarlet" или "ruby", или "puce" на "red", или "back" на "white"
 - Перевернуть последовательность строк (эмуляция "tac")
 - Перевернуть каждую строку в файле задом наперед
 - Перевернуть каждую слово в файле задом наперед
 - Соединить каждую две (пару) строк бок о бок
 - Если линия заканчивается обратной косой чертой "\", то присоединить следующую линию
 - Если линия начинается с знака "==", то присоединить ее к предыдущей линии и заменить "==" пробелом
 - Добавить запятые к строке из чисел, изменяя "1234567" на "1,234,567"
 - Добавить символы подчеркивания к строке из чисел, изменяя "ААААFFFFВВВВ1234" на "64'hАААА_FFFF_ВВВВ_1234"
 - Добавить запятые к числу с десятичной частью и знаком минуса
 - Добавить две пустые строки через каждые 5 строк (после строк 5, 10, 15, 20, и т.д.)
 - Печатать первые 10 линий файла
 - Печатать первые 30-100 линий файла
 - Печатать первую строку файла
 - Печатать последние 20 строк файла
 - Печатать последние 30 строк файла кроме последних 5 строки с конца файла
 - Печатать последнюю строку файла
 - Печатать предпоследнюю строку в файле
 - Печатать только те строки, которые совпадают с регулярным выражением
 - Печатать только те строки, которые НЕ совпадают с регулярным выражением
 - Печатать 3 строк непосредственно перед регулярным выражением, но не печатать строку содержащую регулярное выражение
 - Печатать 5 строк непосредственно после регулярного выражения, но не печатать строку содержащую регулярное выражение
 - Печатать по две строки перед и после регулярного выражения, с указанием номера строки совпадающей с регулярным выражением (симуляция "grep -A1 -B1")
 - Печать строк, совпадающих с регулярными выражениями AAA, BBB и CCC одновременно (в любой последовательности)
 - Печать строк, совпадающих с регулярными выражениями AAA, BBB и CCC одновременно (в конкретной последовательности)
 - Печать строк, совпадающих с любым регулярным выражением AAA или BBB, или CCC
 - Печатать абзац если он содержит AAA (пустая строка разделяет абзацы)
 - Печатать абзац если он содержит AAA, BBB и CCC (в любой последовательности) (символ табуляции вначале строки абзацы)
 - Печатать абзац если он содержит AAA или BBB, или CCC
 - Печатать строки длиной равной или большей 16 символов
 - Печатать строки длиной меньше или равной 35 символов
 - Печатать часть файла начиная от совпадения с регулярным выражением и до конца файла
 - Печатать часть файла основываясь на номерах строк (строки 4-19, включительно)
 - Печатать строку под номером 52
 - Начиная с 3-ей строки печатать каждую седьмую строку в файле
 - Печатать часть файла между двумя регулярными выражениями (включительно)
 - Печатать все линии ИСКЛЮЧАЯ часть между двумя регулярными выражениями
 - Удалить дубликаты последовательных строк в файле. Первая строка в наборе дубликатах строк удерживается от удаления
 - Удалить дубликаты непоследовательных строк в файле. Остерегайтесь переполнения буфера или используйте GNU sed
 - Печатать только дубликаты строк
 - Удалить первые 10 строк в файле и одну последнюю
 - Удалить последнюю строку в файле
 - Удалить 3 последние строки файла
 - Удалить последние 4 строки файла
 - Удалить каждую вторую строку в файле
 - Удалить каждую вторую строки совпадающие с регулярным выражением
 - Удалить ВСЕ пустые строки из файла
 - Удалить все последовательности пустых строк из файла исключая первую. Также удалить все пустые строки в начале и в конце файла (эмуляция "cat -s")
 - Оставить последовательность пустых строк не более двух одновременно
 - Удалить все пустые строки в начале файла
 - Удалить все пустые строки в конце файла
 - Удалить последнюю непустую строку в каждом абзаце
 - Отсортировать абзацы файла в алфавитном порядке. Абзацы разделены символом табуляции.