Обложка канала

R4marketing | канал Алексея Селезнёва | Язык R

Автор канала Алексей Селезнёв, руководитель отдела аналитики в Netpeak, автор R пакетов: ryandexdirect, rfacebookstat и др. В канале публикуются статьи, доклады, новости, заметки по языку R.

R4marketing | канал Алексея Селезнёва | Язык R

4 года назад
Открыть в
​​Поиск файлов по тексту в R В целом если вы работаете в RStudio, то данный функционал можно найти в меню Edit -> Find in files. Для интерактивного режима работы этого будет вполне достаточно. Так же в этом может помочь текстовый редактор, например Notedap++. Но, если вам необходимо программным путём найти R скрипт, или любой другой файл по содержанию в нём определённого текста то вам поможет пакет findInFiles. Понадобиться такой поиск может при разработке telegram бота, который будет искать по заданным паттернам файлы на сервере. Итак, единственной функцией, которая вам понадобится будет findInFiles(). В данной функции доступны следующие аргументы: ● ext - расширение файла, по которым будет проходить поиск, например "R" или "js". ● pattern - паттерн для поиска, т.е. поисковое выражение, по наличию которого будут найдены файлы. ● depth - глубина поиска по папкам, отрицательное число или NULL означает полный рекурсивный поиск, по всем вложенным в корневую папку папкам, 0 означает поиск только в корневой папке, 1 значит поиск в корневой папке и подпапках ● wholeWord - полное соответствие заданному шаблону ● ignoreCase - игнорировать регистр текста при поиске ● perl - является ли шаблон регулярным выражением Perl ● excludePattern - исключить из поиска файлы и папки, соответствующие этому шаблону ● excludeFoldersPattern - исключить из поиска папки, соответствующие этому шаблону ● root - путь к корневой папке поиска ● output - тип вывода информации, "viewer", "tibble" or "viewer+tibble". Пример:
 
library(findInFiles)

res <-findInFiles("R", "gs4_auth", output = "tibble")
res
# A tibble: 11 × 3
   file                              line code                                
   <chr>                            <int> <vctrs_vc>                          
 1 R/blaze_archive_proj_2020_2021.R    25 gs4_auth('[email protected]') 
 2 R/EDC_ppc.R                         12 gs4_auth('[email protected]') 
 3 R/EDC_ppc_kazakhstan.R              12 gs4_auth('[email protected]') 
 4 R/EDC_seo.R                         12 gs4_auth('[email protected]') 
 5 R/Efr_active_proj.R                 12 gs4_auth('[email protected]') 
 6 R/Efr_Churn.R                       12 gs4_auth('[email protected]') 
 7 R/facebook_expenses_2020_2021.R     12 gs4_auth('[email protected]') 
 8 R/netpeak_analysts.R                13 gs4_auth('[email protected]') 
 9 R/nlo_active_proj.R                 11 gs4_auth('[email protected]')
10 R/Rose - Beauty proj.R              12 gs4_auth('[email protected]') 
11 R/user_info_cities.R                12 gs4_auth('[email protected]') 

#заметки_по_R