Як в macOS знайти файли, що містять текст

MaxSite CMS не припиняє дивувати своїми, просто дикими, рішеннями. Вчора вирішив покінчити з автоматичним формуванням заголовків другого рівня в сайдбарі і зіткнувся з черговим косяком системи – заголовки з уже прописаними стилями формувалися на рівні ядра. Розробник, чомусь вирішив, що його бачення того, як і що має виводитися в заголовках буде єдино вірним.

Згодом, в процесі розбирання, з’ясувалося що в спеціальному файлі шаблону functions.php, за допомогою функції mso_set_val (), все-таки можна перевизначати висновок заголовків. Питається навіщо було взагалі городити цей город? Причому, хоч якось відобразити даний момент в документації, по всій видимості, релігія не дозволяла. Втім, відсутність осудною документації, мабуть особлива “фішка” цієї CMS.

Розібратися з цим, вельми не очевидним, формуванням заголовків мені допомогла чудова команда grep, відома з часів роботи під Linux і FreeBSD. Не секрет, що в macOS через консоль доступні всі можливості Unix, адже по суті, це теж Unix система, але більш дружня звичайному користувачеві. Звідси маємо і багатющий функціонал при роботі в терміналі.

Використовуємо grep для пошуку тексту

Отже, для пошуку контенту в файлах або фільтрації вихідних даних використовується команда grep. Знайдемо слово або фразу у вказаній директорії:

grep “text string” directory

У цьому прикладі виведуться всі входження шуканого рядка “text string”, знайдені в файлах з директорії directory. Щоб здійснити пошук без урахування регістру, слід вказувати параметр -i:

grep -i “text string” directory

Для рекурсивного пошуку (дозволяє знайти фразу “text string” у всіх файлах і підкаталогах) використовується параметр -r:

grep -r “text string” directory

Дізнатися більше про команду grep можна там же, в терміналі, викликавши довідку:

man grep

На закінчення, хочу показати як можна вивести список файлів, в яких знайшлися входження тексту “h2 class” з видаленням дублікатів (попередньо я залив через ftp собі на робочий стіл каталог з шаблонами блогу, де і було потрібно зробити пошук):

sudo grep -Hr “h2 class” Desktop / templates / | cut -d: -f1 | sort -u

Якщо вважаєте статтю корисною, не лінуйтеся ставити лайки і ділитися з друзями.

Ссылка на основную публикацию