From cdb0b5e90046d2c6bfa5ff6d1948088febf0d363 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Sat, 18 Apr 2020 11:09:41 -0700 Subject: tweak replace script --- replace | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/replace b/replace index ea14088..7900bcf 100755 --- a/replace +++ b/replace @@ -4,18 +4,17 @@ replace stuff in a file or files """ import argparse import difflib -import glob import fileinput import sys cli = argparse.ArgumentParser(description=__doc__) cli.add_argument( - "-v", "--verbose", action="store_true", help="print diffs for every replacement" + "-d", "--diff", action="store_true", help="print diffs for every replacement" ) cli.add_argument("old", type=str, help="target string") cli.add_argument("new", type=str, help="replacement string") cli.add_argument( - "files", nargs="*", metavar="FILE", help="files to operate on, or omit for stdin", + "files", nargs="*", metavar="FILE", help="file(s) to operate on, or omit for stdin", ) args = cli.parse_args() @@ -23,8 +22,8 @@ differ = difflib.Differ() for line in fileinput.input(files=args.files, inplace=True): replacement = line.replace(args.old, args.new) - print(replacement, end="") - if args.verbose and args.old in line: + if args.diff and args.old in line: diff = list(differ.compare([line], [replacement])) sys.stderr.write(f"{fileinput.filename()}:{fileinput.lineno()}:\n") sys.stderr.writelines(diff) + print(replacement, end="") -- cgit v1.2.3