Спец курс (Автоматизация процесса проектирования)/Практические задания 3 — различия между версиями
Материал из Wiki
				
								
				
				
																
				
				
								
				| Vidokq  (обсуждение | вклад)  (Новая страница: «{{BASH}}») | Vidokq  (обсуждение | вклад)   (→Перед выполнение ознакомиться с правилами оформления задания) | ||
| (не показаны 9 промежуточных версий 2 участников) | |||
| Строка 1: | Строка 1: | ||
| {{BASH}} | {{BASH}} | ||
| + | == Перед выполнение ознакомиться с правилами оформления задания == | ||
| + | * [[Спец курс (Автоматизация процесса проектирования)/Практические задания (Пример)]] | ||
| + | |||
| + | == Задания по 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")  | ||
| + | # Оставить последовательность пустых строк не более двух одновременно  | ||
| + | # Удалить все пустые строки в начале файла  | ||
| + | # Удалить все пустые строки в конце файла  | ||
| + | # Удалить последнюю непустую строку в каждом абзаце  | ||
| + | # Отсортировать абзацы файла в алфавитном порядке. Абзацы разделены символом табуляции. | ||
Текущая версия на 03:58, 31 марта 2018
Перед выполнение ознакомиться с правилами оформления задания
Задания по 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")
- Оставить последовательность пустых строк не более двух одновременно
- Удалить все пустые строки в начале файла
- Удалить все пустые строки в конце файла
- Удалить последнюю непустую строку в каждом абзаце
- Отсортировать абзацы файла в алфавитном порядке. Абзацы разделены символом табуляции.

