summaryrefslogtreecommitdiff
path: root/Userland/Utilities/grep.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Userland/Utilities/grep.cpp')
-rw-r--r--Userland/Utilities/grep.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/Userland/Utilities/grep.cpp b/Userland/Utilities/grep.cpp
index 5e352053a5..6bb2f7abc9 100644
--- a/Userland/Utilities/grep.cpp
+++ b/Userland/Utilities/grep.cpp
@@ -47,6 +47,7 @@ int main(int argc, char** argv)
BinaryFileMode binary_mode { BinaryFileMode::Binary };
bool case_insensitive = false;
bool invert_match = false;
+ bool quiet_mode = false;
bool colored_output = isatty(STDOUT_FILENO);
Core::ArgsParser args_parser;
@@ -55,6 +56,7 @@ int main(int argc, char** argv)
args_parser.add_option(pattern, "Pattern", "regexp", 'e', "Pattern");
args_parser.add_option(case_insensitive, "Make matches case-insensitive", nullptr, 'i');
args_parser.add_option(invert_match, "Select non-matching lines", "invert-match", 'v');
+ args_parser.add_option(quiet_mode, "Do not write anything to standard output", "quiet", 'q');
args_parser.add_option(Core::ArgsParser::Option {
.requires_argument = true,
.help_string = "Action to take for binary files ([binary], text, skip)",
@@ -132,6 +134,9 @@ int main(int argc, char** argv)
auto result = re.match(str, PosixFlags::Global);
if (result.success ^ invert_match) {
+ if (quiet_mode)
+ return true;
+
if (is_binary && binary_mode == BinaryFileMode::Binary) {
outln(colored_output ? "binary file \x1B[34m{}\x1B[0m matches" : "binary file {} matches", filename);
} else {