Ми влаштувалися на роботу до місцевої бібліотеки, де допомагаємо впорядковувати колекцію старих книжок. Студенти, які приходять до бібліотеки, часто шукають цитати, які памʼятають лише наполовину, щоб процитувати їх у своїх курсових роботах. Замість того щоб вручну читати кожну книжку від першої до останньої сторінки, ми вирішуємо створити невеликий інструмент, який буде сканувати їх, шукаючи ці уривки цитат.
Знайти у файлах рядки, що містять рядок пошуку, і повернути всі знайдені рядки.
Команда Unix grep шукає у файлах рядки, що відповідають регулярному виразу.
Наше завдання - реалізувати спрощену команду grep, яка підтримує пошук фіксованих рядків тексту (англ. string).
Команда grep приймає три аргументи:
Далі вона читає вміст указаних файлів (у вказаному порядку), знаходить рядки, що містять рядок пошуку, і нарешті повертає ці рядки в порядку, у якому їх було знайдено. Під час пошуку в кількох файлах перед кожним знайденим рядком додається імʼя файлу та двокрапка (':').
Команда grep підтримує такі прапорці:
-n Додає номер рядка та двокрапку (':') перед кожним рядком у вихідних даних, розміщуючи номер після імені файлу (якщо воно є).-l Виводить лише імена файлів, які містять принаймні один знайдений рядок.-i Шукає з порівнянням без урахування регістру.-v Інвертує роботу програми: збирає всі рядки, що не відповідають умові пошуку.-x Шукає лише ті рядки, які повністю збігаються з рядком пошуку.Зареєструйтеся на Exercism, щоб вивчати й опановувати MoonScript, а також 126 вправ та справжнє наставництво від людей, і все це безкоштовно.