From c4aebbba48ee84aafb29d04875908dc2bda28224 Mon Sep 17 00:00:00 2001 From: Ville Rantanen Date: Tue, 4 Apr 2017 11:54:37 +0300 Subject: [PATCH] added sponge from moreutils --- bin/sponge | 1 + files/sponge | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 120000 bin/sponge create mode 100755 files/sponge diff --git a/bin/sponge b/bin/sponge new file mode 120000 index 0000000..5b4a86e --- /dev/null +++ b/bin/sponge @@ -0,0 +1 @@ +../files/sponge \ No newline at end of file diff --git a/files/sponge b/files/sponge new file mode 100755 index 0000000..ba72515 --- /dev/null +++ b/files/sponge @@ -0,0 +1,25 @@ +#!/usr/bin/env python + +import sys +from argparse import ArgumentParser + +# Set up options +parser=ArgumentParser(description="Sponge file before writing output: grep foo file.txt | sponge file.txt", + epilog="This tool is a modification from http://joeyh.name/code/moreutils/ with the same name.") +parser.add_argument("-a",action="store_true",dest="append",default=False, + help="Append to file instead of overwriting") +parser.add_argument(type=str,dest="file", + help="File to write to") +options=parser.parse_args() + +# Read data +data=sys.stdin.read() + +# choose mode +mode="w" +if options.append: + mode="a" +# Write the file +writer=open(options.file, mode) +writer.write(data) +writer.close()