search-in-file
v3.5.2
Published
Includes utility methods and command to search text within file(s).
Downloads
13,114
Maintainers
Readme
Search In File
Includes utility methods and command to search text within file(s).
Installation
npm install --save search-in-file
Available Utility Methods
1. fileSearch(paths, textToSearch, options)
Search a text within files
Parameters:
- paths: Absolute path files to search.
- textToSearch: Text to search in files.
- options: Various options for file search.
Return value: A promise with a list of files in which text is present.
2. getFilesFromDir(dirPath, recursive, omitEmpty)
Get a list of files from a directory
Parameters:
- dirPath: Path of the directory to get files from.
- recursive: Get files recursively from directory.
- omitEmpty: A flag to omit empty files from result.
Return value: A list of files present in the given directory.
3. search(data, textToSearch, options)
Check if the text is present in given data
Parameters:
- data: Data to search from.
- textToSearch: Text to search.
- options: Various options for search.
Return value: true, if text is present in given data. Else false
Available Options
recursive
: Searches recursively in all sub-directories and files. Defaultfalse
words
: Searches for the exact word. Defaultfalse
ignoreCase
: Case in-sensitive search. Defaultfalse
isRegex
: Searches for the regular expression. Defaultfalse
ignoreDir
: Ignore the specified directories/path while searching. Default[]
fileMask
: Only search in files with given extension. Defaultnull
searchResults
: Type of search results to get.lineNo
to get line with line number that contains given search text. DefaultfilePaths
Usage As command line tool
To use this as a command line tool install this package globally using -g
command.
Now, run command
search-in-file <text-to-search>
For example,
search-in-file hello
This will search for text "hello"
in all the files from a directory where the command is run.
search-in-file hello world
will search for text having either"hello"
or"world"
. To search forhello world
, usesearch-in-file "hello world"
. I.e. to search for text having more than one word, enclose the text inquotes
.
There are the following flags available with this commands:
-p <path>
, --path <path>
: Path(s) of file/directory to search. Default: Current working directory
-w
, --word
: Search for exact word?
-i
, --ignore-case
: Ignore case while searching?
--reg
: Consider "text-to-search" as regex?
-r
, --recursive
: Search recursively in sub-directories of a directory
-e <exclude-dir>
, --exclude-dir <exclude-dir>
: Directory/file(s) to exclude while searching
-f <file-mask>
, --file-mask <file-mask>
: Search in files with specific extension. Example: ".txt"
, ".js"
-s <type>
, --search-results <type>
: Type of search result. "filePaths"
/"lineNo"
. Default: filePaths
Examples
search-in-file hello -p some-file-path
will search for text having hello
in the specified file.
search-in-file hello -p some-dir-path
will search for text having hello
in all the files in specified directory.
search-in-file hello -p some-dir-path -r
will search for text having hello
in all the files in all subdirectories of the specified directory.
search-in-file hello -p some-dir-path -p some-other-dir-path
will search for text having hello
in all the files in both the directories.
search-in-file hello -p some-dir-path -e dir-to-exclude
will search for text having hello
in all the files in specified directory except the dir-to-exclude directory.
search-in-file hello -p some-dir-path -w
will search for the exact word hello
.
search-in-file hello -p some-dir-path -w -i -f .txt
will search for the exact word hello
(ignoring case) in all the with extension ".txt"
in the specified directory
search-in-file hello -p some-dir-path -w -s lineNo
will search for the exact word hello
and output the files along with the line number where the text is found.