Find string pattern in (text) file
find_pattern_in(file_contents, basedir = ".", dir_recursive = TRUE,
reader = readLines, include.comments = FALSE, comment.char = NULL,
use.OS = FALSE, file_pattern = "\\.(R|r)(nw|md)?$",
file_contents_perl = TRUE, file_contents_fixed = FALSE,
file_contents_ignore_case = FALSE, file.ext = NULL,
which_lines = c("first", "all"))
A perl-regular expression as a search query.
The root of the directory tree in which files will be searched recursively.
(logical, default: TRUE
) Search within subdirectories of basedir
?
A function, akin to base::readLines
, the default, that accepts a filename and returns a character vector.
If FALSE
, the default, comments (i.e. anything after a \#
) are not searched.
If include.comments
is FALSE
, what character marks a comment character? By default, NULL
, which sets the correct comment symbol for R and TeX files.
Use the operating system to determine file list. Only available on Windows. If it fails, a fall-back option
(using dir
) is used.
A regular expression passed to list.files(pattern = file.ext)
.
By default, "\.(R|r)(nw|md)?$"
, i.e. all R and Sweave files. (Does not have to be a file extension.)
(logical, default: TRUE
) Should file_contents
be interpreted as a perl
regex?
(logical, default: FALSE
) Should file_contents
be interpreted as a fixed
regex?
(logical, default: FALSE
) As in grep
.
A file extension passed to the operating system if use.OS
is used.
One of "first"
and "all"
. If "first"
only the first match in any file is returned in the result; if "all"
, all matches are.
A data.table
, showing the matches per file.
For convenience, if file_contents
appears to be a directory
and basedir
does not, the arguments are swapped, but with a warning.