«…лишь недалекие люди боятся конкуренции, а люди подлинного творчества ценят общение с каждым талантом…» А. Бек, Талант.

Спец курс (Автоматизация процесса проектирования)/Практические задания 3

Материал из Wiki
Перейти к: навигация, поиск
Лекции SCRIPT

Лекции

Практические задания
Тесты

Табель успеваемости

Экзамен

Доп. материалы

Перед выполнение ознакомиться с правилами оформления задания

Задания по SED

Задание будет успешно выполнено, если были использованы конструкции языка bash и редактор sed (не допускается использовать другие утилиты кроме SED, допускается помогать при обработке из bash).

  1. Двойное пространство между строками между каждой второй строкой
  2. Тройное пространство между строками исключая пустые строки (на выходе содержатся не больше одной пустой строки между двумя строками с текстом)
  3. Десятерное пространство между каждой 2-ой строкой
  4. Удалить каждую пятую строку
  5. Вставить пустую строку и строку с первым символом # перед каждой строкой соответствующей регулярному выражению "regex"
  6. Вставить строку с символом /* после каждой строки соответствующей регулярному выражению "begin"
  7. Вставить строку с символом */ после каждой строки соответствующей регулярному выражению "end"
  8. Нумерация каждой 4 строки в файле filename. Используя отступ для отделения номера от строки
  9. Нумерация каждой строки в файле filename (номер слева максимум 9-значный, выравненный по правому краю)
  10. Нумерация каждой строки в файле filename, с выводом номера только для не пустых строк и каждой с номером кратным 3
  11. Подсчет строк (эмуляция "wc -l") в файле содержащих выражение "begin"
  12. Удалить все пробелы и символы табуляции в начале каждой строки файла
  13. Удалить все пробелы и символы табуляции в конце каждой строки файла
  14. Удалить все пробелы и символы табуляции в начале и конце каждой строки файла
  15. Удалить все повторяющиеся пробелы и символы табуляции в начале и конце и в средине каждой строки файла
  16. Вставить 3 табуляции в начале каждой строки (создать смещение страницы)
  17. Расположить весь текст по правому краю столбца шириной в 80 символов
  18. Центрировать весь текст посередине столбца шириной 108 символов.
  19. Поиск и замена "Hi\bro" на "Yo\bro" в каждой строке
  20. Поиск и замена "Hi\bro" на "Yo\bro" (замена только первого совпадения в строке)
  21. Поиск и замена "Hi\bro" на "Yo\bro" (замена первых 4рех совпадений в строке)
  22. Поиск и замена "Hi\bro" на "Yo\bro" (замена ВСЕХ совпадений в строке)
  23. Поиск и замена "Hi\bro" на "Yo\bro" (замена предпоследнего совпадения)
  24. Поиск и замена "Hi\bro" на "Yo\bro" (замена только последнего совпадения)
  25. Замена "Hi\bro" на "Yo\bro" ТОЛЬКО для строк содержащих "Black"
  26. Замена "Hi\bro" на "Yo\bro" ИСКЛЮЧАЯ строки содержащие "Black"
  27. Замена "scarlet" или "ruby", или "puce" на "red", или "back" на "white"
  28. Перевернуть последовательность строк (эмуляция "tac")
  29. Перевернуть каждую строку в файле задом наперед
  30. Перевернуть каждую слово в файле задом наперед
  31. Соединить каждую две (пару) строк бок о бок
  32. Если линия заканчивается обратной косой чертой "\", то присоединить следующую линию
  33. Если линия начинается с знака "==", то присоединить ее к предыдущей линии и заменить "==" пробелом
  34. Добавить запятые к строке из чисел, изменяя "1234567" на "1,234,567"
  35. Добавить символы подчеркивания к строке из чисел, изменяя "ААААFFFFВВВВ1234" на "64'hАААА_FFFF_ВВВВ_1234"
  36. Добавить запятые к числу с десятичной частью и знаком минуса
  37. Добавить две пустые строки через каждые 5 строк (после строк 5, 10, 15, 20, и т.д.)
  38. Печатать первые 10 линий файла
  39. Печатать первые 30-100 линий файла
  40. Печатать первую строку файла
  41. Печатать последние 20 строк файла
  42. Печатать последние 30 строк файла кроме последних 5 строки с конца файла
  43. Печатать последнюю строку файла
  44. Печатать предпоследнюю строку в файле
  45. Печатать только те строки, которые совпадают с регулярным выражением
  46. Печатать только те строки, которые НЕ совпадают с регулярным выражением
  47. Печатать 3 строк непосредственно перед регулярным выражением, но не печатать строку содержащую регулярное выражение
  48. Печатать 5 строк непосредственно после регулярного выражения, но не печатать строку содержащую регулярное выражение
  49. Печатать по две строки перед и после регулярного выражения, с указанием номера строки совпадающей с регулярным выражением (симуляция "grep -A1 -B1")
  50. Печать строк, совпадающих с регулярными выражениями AAA, BBB и CCC одновременно (в любой последовательности)
  51. Печать строк, совпадающих с регулярными выражениями AAA, BBB и CCC одновременно (в конкретной последовательности)
  52. Печать строк, совпадающих с любым регулярным выражением AAA или BBB, или CCC
  53. Печатать абзац если он содержит AAA (пустая строка разделяет абзацы)
  54. Печатать абзац если он содержит AAA, BBB и CCC (в любой последовательности) (символ табуляции вначале строки абзацы)
  55. Печатать абзац если он содержит AAA или BBB, или CCC
  56. Печатать строки длиной равной или большей 16 символов
  57. Печатать строки длиной меньше или равной 35 символов
  58. Печатать часть файла начиная от совпадения с регулярным выражением и до конца файла
  59. Печатать часть файла основываясь на номерах строк (строки 4-19, включительно)
  60. Печатать строку под номером 52
  61. Начиная с 3-ей строки печатать каждую седьмую строку в файле
  62. Печатать часть файла между двумя регулярными выражениями (включительно)
  63. Печатать все линии ИСКЛЮЧАЯ часть между двумя регулярными выражениями
  64. Удалить дубликаты последовательных строк в файле. Первая строка в наборе дубликатах строк удерживается от удаления
  65. Удалить дубликаты непоследовательных строк в файле. Остерегайтесь переполнения буфера или используйте GNU sed
  66. Печатать только дубликаты строк
  67. Удалить первые 10 строк в файле и одну последнюю
  68. Удалить последнюю строку в файле
  69. Удалить 3 последние строки файла
  70. Удалить последние 4 строки файла
  71. Удалить каждую вторую строку в файле
  72. Удалить каждую вторую строки совпадающие с регулярным выражением
  73. Удалить ВСЕ пустые строки из файла
  74. Удалить все последовательности пустых строк из файла исключая первую. Также удалить все пустые строки в начале и в конце файла (эмуляция "cat -s")
  75. Оставить последовательность пустых строк не более двух одновременно
  76. Удалить все пустые строки в начале файла
  77. Удалить все пустые строки в конце файла
  78. Удалить последнюю непустую строку в каждом абзаце
  79. Отсортировать абзацы файла в алфавитном порядке. Абзацы разделены символом табуляции.