orang find
Searches the file system for files and directories and optionally searches files' content.
Synopsis
orang find <PATH>
--after-context <NUM>
--align-columns
--ask <ASK_MODE>
-a, --attributes <ATTRIBUTES>
-A, --attributes-to-skip <ATTRIBUTES>
--before-context <NUM>
-c, --content <PATTERN> [<PATTERN_OPTIONS>]
--content-mode <CONTENT_MODE>
--context <NUM>
--count
--encoding <ENCODING>
--exclude <GLOB>
-e, --extension EXT1[,EXT2] [<EXTENSION_OPTIONS>]
--function <FUNCTION>
-h, --help
-t, --highlight <HIGHLIGHT>
--include <GLOB>
-i, --include-directory <PATTERN> [<PATTERN_OPTIONS>]
--line-number
-m, --max-count <NUM>
--max-depth <NUM>
--max-matches-in-file <NUM>
--max-matching-files <NUM>
-n, --name <PATTERN> [<PATTERN_OPTIONS>]
-C, --no-content
-P, --no-path
--no-recurse
-o, --output <PATH> [<OUTPUT_OPTIONS>]
--path-mode <PATH_MODE>
--paths <PATH>
--paths-from <FILE_PATH>
--pipe <PIPE_MODE>
--progress
-p, --properties <FILE_PROPERTIES>
-s, --sort <SORT_OPTIONS>
--split
-u, --summary
-v, --verbosity <VERBOSITY>
Arguments
<PATH>
Path to one or more files and/or directories that should be searched.
Options
--after-context <NUM>
Number of lines to show after matching line.
--align-columns
Align columns.
--ask <ASK_MODE>
Ask for permission after each file or value.
<ASK_MODE>: f[ile]
, v[alue]
.
-a, --attributes <ATTRIBUTES>
File attributes that are required.
<ATTRIBUTES>: archive
, compressed
, d[irectory]
, e[mpty]
, encrypted
, f[ile]
, h[idden]
, normal
, offline
, r[ead-only]
, r[eparse-]p[oint]
, s[ystem]
, temporary
.
-A, --attributes-to-skip <ATTRIBUTES>
File attributes that should be skipped.
<ATTRIBUTES>: archive
, compressed
, e[mpty]
, encrypted
, h[idden]
, normal
, offline
, r[ead-only]
, r[eparse-]p[oint]
, s[ystem]
, temporary
.
--before-context <NUM>
Number of lines to show before matching line.
-c, --content <PATTERN> [<PATTERN_OPTIONS>]
Regular expression for files' content.
<PATTERN_OPTIONS>: compiled
, c[ulture-]i[nvariant]
, e[cma-]s[cript]
, e[nds-]w[ith]
, e[quals]
, n [explicit-capture]
, f[rom-file]
, g[roup]=<GROUP_NAME>
, i[gnore-case]
, x [ignore-pattern-whitespace]
, li[st]
, length=<NUM>
, l[ist-]s[eparator]
, l[iteral]
, m[ultiline]
, ne[gative]
, r[ight-to-left]
, s[ingleline]
, s[tarts-]w[ith]
, timeout=<NUM>
, w[hole-]l[ine]
, w[hole-word]
.
--content-mode <CONTENT_MODE>
Defines which parts of a content should be included in the results.
<CONTENT_MODE>: a[ll-lines]
, l[ine]
, u[nmatched-lines]
, v[alue]
, d [value-detail]
, o[mit]
.
--context <NUM>
Number of lines to show before and after matching line.
--count
Show number of matches in a file.
--encoding <ENCODING>
Encoding to use when a file does not contain BOM. Default encoding is UTF-8.
--exclude <GLOB>
Space separated list of glob patterns to exclude files and/or folders. For further information about the syntax see reference documentation.
-e, --extension EXT1[,EXT2] [<EXTENSION_OPTIONS>]
A filter for file extensions (case-insensitive by default).
<EXTENSION_OPTIONS>: c[ase-]s[ensitive]
, c[ulture-]i[nvariant]
, f[rom-file]
, l[ist-]s[eparator]
, l[iteral]
, ne[gative]
, timeout=<NUM>
.
--function <FUNCTION>
Space separated list of functions to modify a list of matches. All matches from all files are evaluated at once.
<FUNCTION>: sort
, sort-descending
, distinct
, group
, sort-by=
<SORT_PROPERTY>.
-h, --help
Show command line help.
-t, --highlight <HIGHLIGHT>
Parts of the output to highlight.
<HIGHLIGHT>: n[one]
, m[atch]
, e[mpty-]m[atch]
, e[mpty]
, b[oundary]
, t[ab]
, c[arriage-]r[eturn]
, l[ine]f[eed]
, newline
, space
.
--include <GLOB>
Space separated list of glob patterns to include files and/or folders. For further information about the syntax see reference documentation.
-i, --include-directory <PATTERN> [<PATTERN_OPTIONS>]
[deprecated] Regular expression for a directory name.
--line-number
Include line number.
-m, --max-count <NUM>
Stop searching after specified number is reached.
--max-depth <NUM>
Maximum directory depth.
--max-matches-in-file <NUM>
Stop searching in a file after specified number of matches is found.
--max-matching-files <NUM>
Stop searching after specified number of files is found.
-n, --name <PATTERN> [<PATTERN_OPTIONS>]
Regular expression for file or directory name.
-C, --no-content
A shortcut for '--content-mode omit'.
-P, --no-path
A shortcut for '--path-mode omit'.
--no-recurse
Do not search subdirectories.
-o, --output <PATH> [<OUTPUT_OPTIONS>]
Path to a file that should store output.
--path-mode <PATH_MODE>
Defines which part of a path should be included in the results.
<PATH_MODE>: f[ull]
, r[elative]
, m[atch]
, o[mit]
.
--paths <PATH>
Path to one or more files and/or directories that should be searched.
--paths-from <FILE_PATH>
Read the list of paths to search from a file. Paths should be separated by newlines.
--pipe <PIPE_MODE>
Defines how to use redirected/piped input.
<PIPE_MODE>: t[ext]
, p[aths]
.
--progress
Display dot (.) for every hundredth searched file or directory.
-p, --properties <FILE_PROPERTIES>
Display file's properties and optionally filter by that properties.
<FILE_PROPERTIES>: c[reation-]t[ime]=<DATE>
, m[odified-]t[ime]=<DATE>
, s[ize]=<NUM>
.
-s, --sort <SORT_OPTIONS>
Sort matched files and directories.
<SORT_OPTIONS>: a[scending]
, c[reation-]t[ime]
, ci [culture-invariant]
, d[escending]
, m[ax-count]=<NUM>
, m[odified-]t[ime]
, n[ame]
, s[ize]
.
--split
Execute regex in a split mode.
-u, --summary
Show summary at the end of search.
-v, --verbosity <VERBOSITY>
The amount of information to display in the log.
<VERBOSITY>: q[uiet]
, m[inimal]
, n[ormal]
, d[etailed]
, di[agnostic]
.
Redirected/Piped Input
Redirected/piped input will be used either as a text to be searched (default) or as a list of paths separated with newlines (when --pipe p[aths]
is specified.
Samples
Sample
Find TODO comments in a C# source files in a current directory.
Current directory contains file pattern.txt with a following content:
(?im)
(?<=
^(\ |\t)*/{2,}\ *todo\ *
)
[^\r\n]+
Syntax
orang find ^
--extension cs ^
--content "pattern.txt" from-file
Short Syntax
orang find ^
-e cs ^
-c "pattern.txt" f
Sample
Display content of new csproj files and pause after each file.
Syntax
orang find ^
--extension csproj ^
--content "<Project Sdk=\"Microsoft.NET.Sdk\">" literal ^
--display content=all-lines ^
--ask file
Short Syntax
orang find ^
-e csproj ^
-c "<Project Sdk=\"Microsoft.NET.Sdk\">" l ^
-y c=a ^
--ask f
Sample
Add copyright banner to each C# file in a current directory.
Syntax
orang find ^
--extension cs ^
--content "banner.txt" from-file literal starts-with negative | ^
orang replace ^
--content "" starts-with ^
--replacement "banner.txt" from-file
Short Syntax
orang find ^
-e cs ^
-c "banner.txt" f l sw ne | ^
orang replace ^
-c "" sw ^
-r "banner.txt" f