From 9757d2c18de28acfed39da620e0dc8ee4ac6d434 Mon Sep 17 00:00:00 2001 From: Samuel Sloniker Date: Thu, 1 Dec 2022 11:59:41 -0800 Subject: [PATCH] Add grep Closes #4 --- bin/grep.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 bin/grep.py diff --git a/bin/grep.py b/bin/grep.py new file mode 100644 index 0000000..f541134 --- /dev/null +++ b/bin/grep.py @@ -0,0 +1,25 @@ +import os +import re +import console + +def get_app_class(template): + class App(template): + def F_main(self): + pattern = self.argv[1].encode("utf-8") + file = self.argv[2] + + try: + with open(file, "rb") as f: + for line in f.readlines(): + if re.search(pattern, line): + self.console.write(line) + except OSError as e: + try: + os.listdir(file) + console.write_str(self.console, f"grep: {file}: Is a directory\n") + except OSError: + console.write_str(self.console, f"grep: {file}: No such file or directory\n") + + self.exit() + + return App